Essais de sélénium de GWT 2.0
Comment puis-je faire une sélénium cliquez sur() fonctionne de la même comme un manuel clic de souris?
J'ai récemment mis à jour GWT de 1.7.1 à la 2.0. Certains sélénium tests (SeleniumRC v1.0.1, IE7) sont maintenant défaut. Il semble que le Sélénium.cliquez sur la (les) méthode n'est pas la sélection d'un GWT TreeItem. Un manuel sur a faire de la TreeItem go bleu (ie. regarder sélectionnés et ont "gwt-TreeItem" attribut de classe dans les DOM), mais le sélénium test n'a pas.
Je suis convaincu que le sélénium est en fait de trouver le bon élément, tout en ne cliquant pas sur elle. Si vous modifiez le paramètre de chaîne dans la méthode click vous pouvez vérifier que le sélénium déclenche une exception lorsque l'élément n'est pas trouvé.
L'exemple de code ci-dessous utilise le GWT site Vitrine. Il essaie de cliquer sur le mot "Beethoven". Si vous cliquez sur le mot avec votre souris, vous verrez le TreeItem bleues. Toutefois, lorsque vous exécutez le sélénium test, il ne sera pas.
package test;
import org.junit.Before;
import org.junit.Test;
import com.thoughtworks.selenium.DefaultSelenium;
import com.thoughtworks.selenium.Selenium;
public class TestTreeClick {
static Selenium selenium = null;
@Before
public void setUp() throws Exception {
if (selenium == null) {
selenium = new DefaultSelenium("localhost", 4444, "*iexplore",
"http://gwt.google.com/samples/Showcase/Showcase.html#CwTree");
selenium.start();
}
}
@Test
public void testingClicking() {
selenium.open("http://gwt.google.com/samples/Showcase/Showcase.html#CwTree");
selenium.click("gwt-debug-cwTree-staticTree-root-child0-content");
}
}
J'ai essayé quelques autres méthodes (Sélénium.clickAt(), le Sélénium.fireEvent(), le Sélénium.mouseOver()/Bas ()/() ) - mais aucun n'a reproduire le manuel de comportement.
source d'informationauteur Glennn
Vous devez vous connecter pour publier un commentaire.
Malheureusement, avoir un regard sur ce cas, je n'ai pas été capable de reproduire en cliquant avec le Sélénium. J'ai vu un certain nombre de gens qui se plaignent qu'ils ne peuvent pas utiliser le Sélénium avec GWT et l'un des plus célèbres équipes ont question. Google Wave équipe de développement ont commencé à utiliser le WebDriver pour tester leur code.
Maintenant, la bonne chose est qu'il ya actuellement un projet de fusion de Sélénium et de WebDriver, car ils ont tous leurs forces et leurs faiblesses, et un certain nombre d'entre eux sont dans différents domaines, de sorte que le produit final sera incroyable.
Je crois qu'ils peuvent avoir une version de travail de la WebDriverBackedSelenium à Google Code donc, tout ce que vous devez faire est de mettre à jour l'instanciation de Sélénium et il devrait commencer à utiliser le WebDriver l'exécution de code dans votre test.
Il semble que WebDriver pouvez le faire comme ceci.
Je voudrais encore être en mesure de le faire avec le Sélénium. Il se peut que l'avenir de Sélénium la libération de plus d'intégrer pleinement WebDriver, et tout sera merveilleux de nouveau. Mais je suppose que cela fonctionne pour l'instant.
Je voulais poster le code qui a finalement fonctionné pour moi à la suite des commentaires utiles de AutomatedTester.
Vous n'avez pas besoin de "cliquer" sur le bouton, mais appuyez sur "Entrer" la place.
Voir http://dingyichen.livejournal.com/23628.html