これは、 Selenium IDE HTML Tests の JavaScript 関数に従って可能である必要があります。
<tr>
<td>storeEval</td>
<td>function(input) {return input.replace('foo', 'bar');}</td>
<td>replaceText</td>
</tr>
<tr>
<td>storeEval</td>
<td>replaceText('foo')</td>
<td>var</td>
</tr>
代わりに、次の例外が発生します。
function statement requires a name
名前を付けた後、ステートメントが実行されます。
<tr>
<td>storeEval</td>
<td>function replaceText(input) {return input.replace('foo', 'bar');}</td>
<td>replaceText</td>
</tr>
しかし、次の行では定義が見つかりません。
replaceText is not defined
また、関数の代わりに変数を参照しようとしました:
<tr>
<td>storeEval</td>
<td>${replaceText}('foo')</td>
<td>var</td>
</tr>
しかし、明らかにそれはまだ定義されていません:
null is not a function
私も無名関数を作ってみました:
<tr>
<td>storeEval</td>
<td>(function (input) {return input.replace('foo', 'bar')})</td>
<td>replaceText</td>
</tr>
かっこを付けて実行します。
<tr>
<td>storeEval</td>
<td>(${replaceText})('foo')</td>
<td>var</td>
</tr>
エラー:
missing ) in parenthetical
なし:
<tr>
<td>storeEval</td>
<td>${replaceText}('foo')</td>
<td>var</td>
</tr>
エラー:
missing ; before statement