Comment créer des fonctions personnalisées dans Selenium IDE?

Cela devrait être possible en fonction de Fonctions JavaScript dans Selenium IDE HTML Tests:

<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>

Au lieu-je obtenir de l'exception suivante:

function statement requires a name

Après lui donnant un nom que l'instruction s'exécute:

<tr>
    <td>storeEval</td>
    <td>function replaceText(input) {return input.replace('foo', 'bar');}</td>
    <td>replaceText</td>
</tr>

Mais la ligne suivante ne parvient pas à trouver la définition:

replaceText is not defined

J'ai aussi essayé de référencer la variable au lieu de la fonction:

<tr>
    <td>storeEval</td>
    <td>${replaceText}('foo')</td>
    <td>var</td>
</tr>

Mais apparemment c'est toujours pas défini:

null is not a function

J'ai aussi essayé de faire un fonction anonyme:

<tr>
    <td>storeEval</td>
    <td>(function (input) {return input.replace('foo', 'bar')})</td>
    <td>replaceText</td>
</tr>

et en l'exécutant avec des parenthèses:

<tr>
    <td>storeEval</td>
    <td>(${replaceText})('foo')</td>
    <td>var</td>
</tr>

Erreur:

missing ) in parenthetical 

et sans:

<tr>
    <td>storeEval</td>
    <td>${replaceText}('foo')</td>
    <td>var</td>
</tr>

Erreur:

missing ; before statement

OriginalL'auteur l0b0 | 2013-01-17