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
Vous devez vous connecter pour publier un commentaire.
Ce que vous avez besoin est un l'autonomie de l'exécution de fonction anonyme:
Notez que vous pouvez également utiliser des variables comme paramètres:
OriginalL'auteur katranci
Je test ci-dessus,mais j'ai une erreur "[erreur] a déclenché une exception: manquant ) après la liste d'arguments"
donc,je change "${texterecherché}" à "storedVars['texterecherché']", c'est ok 🙂
ps:JavaScript peut être utilisé avec deux types de Selenese paramètres: script et non script (généralement des expressions). Dans la plupart des cas, vous aurez envie de l'accès et/ou de manipuler un cas de test de la variable à l'intérieur de l'extrait de code JavaScript utilisé comme un Selenese paramètre. Toutes les variables créées dans votre cas de test sont stockés dans un JavaScript tableau associatif. Un tableau associatif est de la chaîne des indices plutôt que séquentielle indices numériques. Le tableau associatif contenant votre cas de test des variables est nommé storedVars. Chaque fois que vous souhaitez accéder ou de manipuler une variable à l'intérieur d'un extrait de code JavaScript, vous devez vous référer à elle comme storedVars[‘yourVariableName’].
http://www.seleniumhq.org/docs/02_selenium_ide.jsp#store-commands-and-selenium-variables
OriginalL'auteur user3026903
Katranci la réponse a été vraiment utile, mais une fois que j'ai ajouté dans les boucles for les variables perdre étendue. Je me suis retrouvé à l'aide de Katranci de la solution à l'intérieur de la fenêtre.la fonction eval().
Dans cette situation, j'ai été la création de tester les entrées commençant par 'le Sélénium Test" et je suis en utilisant ce code afin d'identifier ceux pour la suite de cas de test. Cela arrive à être une page sans jquery.
OriginalL'auteur bfuzze
Il est possible de définir une fonction et le réutiliser ailleurs:
Cela fonctionne dans Selenium IDE 2.9.0
OriginalL'auteur Shane Voisard