java - 如何通过 main() 和 TestNG 在 IDE 中编写 Selenium Java 应用程序代码

标签 java selenium selenium-webdriver webdriver testng

我面临以下问题 在 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/");
    }
}

最佳答案

错误源于org.apache.bcel.verifier

您必须注意以下某些事项:

不要使用 ChromeDriver 实现,而是使用 WebDriver 接口(interface)。 chrome 是保留关键字。使用一些其他用户定义的方法名称,例如my_function() {} 简单地定义 public void chrome() 不会执行您的测试。您必须将 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/");
            }
        }
    

关于java - 如何通过 main() 和 TestNG 在 IDE 中编写 Selenium Java 应用程序代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48018053/

相关文章:

java - 我的编码 driver.findElement(By.linkText ("Logout")).click();测试脚本中没有执行

java - 为什么 Intellij 代码覆盖率和 jacoco 代码覆盖率显示不同的百分比?

java - Swing:马拉雅拉姆语字符串无法在 JFrame 中正确呈现

javascript - Browser.wait() 直到 .getAttribute() 返回 true

node.js - 如何获取用 selenium python 为浏览器扩展编写的功能测试的代码覆盖率?

selenium - href 元素的 Xpath

google-chrome - 通过docker的Selenium python库,Chrome错误无法启动:异常退出

java - 如何在 Windows 上提取包含多字节字符和禁止字符的 tar.gz

google-chrome - ChromeDriver 在 Jenkins Selenium 作业上不断崩溃 : "WebDriverError: Chrome failed to start: crashed"

java - 无法通过 IfElse 语句定位 css 元素