selenium-chromedriver - TestNG 没有为 Firefox 驱动程序运行 @Test -- Chrome 工作
问题描述
我正在使用 TestNG 在 Eclipse 中为 Chrome 和 Firefox 构建 Selenium WebDriver 测试。当我将 testng.xml 文件作为 TestNG 套件运行时,它会打开 Firefox 浏览器,但不会在类文件中输入 @Test 方法。它可以很好地执行@BeforeClass 方法。
但是,当我有几乎相同的代码但对于 Chrome 时,它工作正常 - 它进入 @Test 方法并且一切都是金色的。
知道为什么它会进入 Chrome 的 @Test 方法,而不是 Firefox 吗?
这是我的课程的代码:
public class TestFireFox {
private WebDriver driver;
@BeforeClass
public void beforeClass() {
System.out.println("Running TestFireFox Class");
driver = new FirefoxDriver();
System.setProperty("webdriver.gecko.driver", "geckodriver");
}
@AfterClass
public void afterClass() {
driver.quit();
}
@Test
public void verifySearchButton() {
System.out.println("Inside Verify Method");
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.get("http://www.google.com");
String search_text = "Google Search";
WebElement search_button = driver.findElement(By.name("btnK"));
String text = search_button.getAttribute("value");
Assert.assertEquals(text, search_text, "Text not found!");
}
}
解决方案
问题可能是语句的顺序。你需要setProperty
在 instatiate 之前Firefox
。
System.setProperty("webdriver.gecko.driver", "path\\to\\geckodriver.exe");
driver = new FirefoxDriver();
推荐阅读
- javascript - 如何在没有 javascript 的情况下建立在线聊天?
- latex - Tex: wrapfig 包对齐文本的问题
- git - 哪个是处理从 SVN 切换 Git 的多个项目的最佳方式?
- scala - Spark CSV 读取忽略字符
- python - 高效地结合使用 Python 和 C++
- php - PHP MYSQLI AJAX 滚动加载不工作
- html - 图片标签的 URL 并不总是存在
- gimp - 如何更改 GIMP 中的文本图层?
- ios - ZStack 中的矩形改变 SwiftUI 动画
- python - 为什么在 sizeHint 中设置的 QSize 高度会返回两倍高度的 QRect?