2009-07-15 7 views
0

J'ai un tas de cas de test de sélénium mis en place dans une classe JUnit comme quatre méthodes. Le premier fonctionne bien - mais les trois autres fermer le navigateur Firefox avant l'étape finale de la méthode est terminée - donner unSelenium fonctionnant comme junit dans ant ferme prématurément navigateur mais pas dans l'IDE

ERROR: Command execution failure. Please search the forum at http://clearspace.openqa.org for error details from the log window. The error message is: this.page().currentDocument is undefined 
com.thoughtworks.selenium.SeleniumException: ERROR: Command execution failure. Please search the forum at http://clearspace.openqa.org for error details from the log window. The error message is: this.page().currentDocument is undefined 

installation est le suivant:

exécution dans le cadre Ant

  • Java 1,5
  • Eclipse 3.5
  • sélénium serveur 1.0.1
  • Seleni um client pilote 1.0.1

IDE

  • Java 1.5
  • Eclipse 3.5
  • Sélénium serveur 1.0.1
  • Sélénium client pilote 1.0.1

I Espérons trouver la cause première


Il se bloque sur la ligne suivante:

Ceci est la modification du fichier extensions.js utilisateur:

Selenium.prototype.getElementBody = function(elementId) { 
return this.outerHTML(this.page().currentDocument.getElementById(elementId)); 
}; 

C'est ce qu'on appelle:

commandProcessor.getString("getElementBody", "idOfElement"); 
+1

Pouvez-vous nous donner le code afin que nous puissions voir ce que le problème peut être? – AutomatedTester

Répondre

0

Je n'ai jamais vu une commande appelée getString faisant partie de l'API Selenium alors pensez que c'est la raison pour laquelle vos tests échouent.

L'autre chose est d'avoir dit à Selenium RC d'utiliser le fichier user-extensions.js que vous avez modifié avec l'argument -userExtensions user-extensions.js suivant? Je n'ai jamais trouvé utile d'utiliser des extensions utilisateur dans Se: RC et d'utiliser plutôt les commandes .getEval(). Ce que vous voulez serait selenium.getEval ("this.browserbot.getUserWindow(). GetElementByID (id) .outerHTML");

J'ai nettoyé votre javascript pour vous. Le this.browserbot.getUserWindow() vous donne accès à l'objet JavaScript Selenium dans lequel se trouve la page.

J'espère que cela aide

0

Pouvez-vous nous montrer votre classe de test JUnit? Je sais par expérience que de temps en temps les tests Selenium peuvent tomber en panne sans raison apparente, mais votre problème semble se produire à chaque fois pour que cela puisse avoir quelque chose à voir avec votre code/script. Peur Je ne peux pas vous aider sans plus de détails.

Questions connexes