Как я могу сделать селен щелчок() работать так же, как ручной щелчок мыши?
Недавно я обновил GWT с 1.7.1 до 2.0. Некоторые тесты селена (SeleniumRC v1.0.1, IE7) теперь терпят неудачу. Кажется, что метод Selenium.click() не выбирает GWT TreeItem. Ручной щелчок приведет к тому, что TreeItem станет синим (т.е. Выберите выбранный и у вас есть атрибут класса "gwt-TreeItem-selected" в DOM), но тест selenium этого не делает.
Я убежден, что селен действительно находит правильный элемент, просто не нажимая на него. Если вы измените параметр string в методе click, вы можете проверить, что селен выдает исключение, когда элемент не найден.
В приведенном ниже примере кода используется веб-сайт GWT Showcase. Он пытается щелкнуть по слову "Бетховен". Если вы нажмете на это слово мышью, вы увидите, что TreeItem синий. Однако, когда вы запускаете тест селена, он не будет.
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");
}
}
Я пробовал другие методы (Selenium.clickAt(), Selenium.fireEvent(), Selenium.mouseOver()/Down()/Up()), но никто не воспроизводит поведение руководства.