我正在寻找针对 Nightly 浏览器(FireFox 64 位)执行 Selenium 2 测试。使用 Selenium IDE (v1.8.1) 可以很好地记录。并且使用 IDE 也可以很好地播放。然后我将代码导出为 TestNG 格式。顺便说一句,我已经加载了 Webdriver Backed 插件,因此它导出了 Selenium 2 版本的 WebDriver 代码。我遇到的问题是,当我将代码导出为 TestNG 格式(Java)并执行它时,断言永远不会在屏幕上找到文本。它执行得很好,所以不是代码没有转换。它似乎与断言有关。如果我从 IDE 插件中播放它,它会找到它的文本并断言很好,但是一旦它在 Java 中执行,它就会使所有断言失败。对可能发生的事情有任何想法。我的代码如下。非常感谢!
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebDriverBackedSelenium;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import static junit.framework.Assert.*;
import com.thoughtworks.selenium.Selenium;
public class TestWithConfig {
WebDriver driver;
Selenium selenium;
@BeforeMethod
public void startSelenium() {
driver = new FirefoxDriver();
selenium = new WebDriverBackedSelenium(driver,
"http://en.wikipedia.org/wiki/Main_Page");
}
@AfterMethod
public void stopSelenium() {
driver.close();
}
@Test
public void testTest() {
selenium.setSpeed("600");
selenium.open("/wiki/Main_Page");
assertTrue("face not found",selenium.isTextPresent("face"));
selenium.click("link=Contents");
selenium.waitForPageToLoad("30000");
assertTrue("Below not found",selenium.isTextPresent("Below"));
selenium.click("link=Toolbox");
selenium.click("link=What links here");
selenium.waitForPageToLoad("30000");
assertTrue("Pages not found",selenium.isTextPresent("Pages that link to"));
selenium.click("link=exact:Talk:Wine");
selenium.waitForPageToLoad("30000");
assertTrue("Some not found",selenium.isTextPresent("Some"));
}
}