一尘不染

如何通过main()和TestNG在IDE中编写Selenium Java Application代码

selenium

我面临以下在Google中搜索的问题,找不到解决该问题的明确答案。

错误:

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\\chro‌​medriver_win32\\chro‌​medriver.exe"); // objects and variables instantiation 
         driver = new ChromeDriver(); 
         driver.get("newtours.demoaut.com/");
    }
}

阅读 316

收藏
2020-06-26

共1个答案

一尘不染

错误源于 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/");
        }
    }
    
2020-06-26