如何通过main()和TestNG在IDE中编写Selenium Java应用程序代码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过main()和TestNG在IDE中编写Selenium Java应用程序代码相关的知识,希望对你有一定的参考价值。
我面对以下问题在谷歌搜索无法找到明确的答案如何解决这个问题。
错误:
org.apache.bcel.verifier.exc.AssertionViolatedException.main(AssertionViolatedException.java:102)
码
import org.openqa.selenium.chrome.ChromeDriver;
public class Newtours
{
public static ChromeDriver driver;
public void chrome()
{
System.setProperty("webdriver.chrome.driver","C:\Users\imper\Downloads\chromedriver_win32\chromedriver.exe"); // objects and variables instantiation
driver = new ChromeDriver();
driver.get("newtours.demoaut.com/");
}
}
答案
这个错误源于org.apache.bcel.verifier
你必须按照以下方式处理某些事情:
而不是使用ChromeDriver
实现使用WebDriver
接口。 chrome
是保留的关键字。为该方法使用一些其他用户定义的名称,例如my_function() {}
简单地定义public void chrome()将不会执行你的Test
。您必须将public void chrome()转换为以下任一项:
- 转换为
main()
函数如下:public class Newtours { public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "C:\path\to\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.get("http://newtours.demoaut.com/"); } }
- 整合
TestNG
并添加@Test
注释如下:import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.testng.annotations.Test; public class Newtours { @Test public void my_function() { System.setProperty("webdriver.chrome.driver", "C:\path\to\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.get("http://newtours.demoaut.com/"); } }
另一答案
System.setProperty("webdriver.chrome.driver", "chromedriver");
driver = new ChromeDriver();
driver.get("http://newtours.demoaut.com/");
试试这个代码它运行正常。我查了一遍,它运行正常。您需要为您的网址提供http或https。
以上是关于如何通过main()和TestNG在IDE中编写Selenium Java应用程序代码的主要内容,如果未能解决你的问题,请参考以下文章