java – 同时测试浏览器;收到错误
发布时间:2020-12-15 02:11:36 所属栏目:Java 来源:网络整理
导读:现在,我正在尝试进行我的第一个测试,它将同时测试浏览器Chrome,Firefox,IE和Safari.但是我得到的以下错误是: FAILED CONFIGURATION: @BeforeMethod beforeMethod org.testng.TestNGException: Parameter ‘browser’ is required by @Configuration on meth
现在,我正在尝试进行我的第一个测试,它将同时测试浏览器Chrome,Firefox,IE和Safari.但是我得到的以下错误是:
我正在使用Selenium,TestNG和Maven以及JAVA语言. XML测试套件文件和java文件位于目录中的同一文件夹中.我能够在线找到测试套件XML文件的内容如下(类名值设置为正确的包和类名): <?xml version="1.0" encoding="UTF-8"?> <DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name="TestSuite" thread-count="2" parallel="tests"> <test name="ChromeTest"> <parameter name="browser" value="chrome" /> <classes> <class name="com.sqa.ts.multiBrowser.BrowserTest"> </class> </classes> </test> <test name="FirefoxTest"> <parameter name="browser" value="firefox" /> <classes> <class name="com.sqa.ts.multiBrowser.BrowserTest"> </class> </classes> </test> <test name="IETest"> <parameter name="browser" value="ie" /> <classes> <class name="com.sqa.ts.multiBrowser.BrowserTest"> </class> </classes> </test> <test name="SafariTest"> <parameter name="browser" value="safari" /> <classes> <class name="com.sqa.ts.multiBrowser.BrowserTest"> </class> </classes> </test> </suite> 下面是我的代码,只需打开浏览器以确保它将运行并通过: package com.sqa.ts.multiBrowser; import java.net.MalformedURLException; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.ie.InternetExplorerDriver; import org.openqa.selenium.safari.SafariDriver; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Parameters; import org.testng.annotations.Test; public class BrowserTest { private WebDriver driver; @Test public void testCaSEOne() { driver.get("http://www.google.com"); driver.close(); } @BeforeMethod @Parameters("browser") public void beforeMethod(String browser) throws MalformedURLException { if (browser.equalsIgnoreCase("chrome")) { System.setProperty("webdriver.chrome.driver","C:/Users/Trevor/workspace/BrowserTest/drivers/chromedriver.exe"); driver = new ChromeDriver(); } else if (browser.equalsIgnoreCase("firefox")) { driver = new FirefoxDriver(); } else if (browser.equalsIgnoreCase("ie")) { System.setProperty("webdriver.ie.driver","C:/Users/Trevor/workspace/BrowserTest/drivers/IEDriverServer.exe"); driver = new InternetExplorerDriver(); } else if (browser.equalsIgnoreCase("safari")) { driver = new SafariDriver(); } } @AfterMethod public void afterMethod() { driver.quit(); } } 如果有人能够让我了解造成这个问题的原因,我将不胜感激.谢谢. 解决方法
看起来你缺少pom.xml中的testNG配置
<build> <plugins> <!-- Following plugin executes the testng tests --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.19</version> <configuration> <!-- Suite testng xml file to consider for test execution --> <suiteXmlFiles> <suiteXmlFile>src/test/java/com/sqa/ts/multiBrowser/testng.xml</suiteXmlFile> </suiteXmlFiles> </configuration> </plugin> </build> 运行mvn clean install或mvn clean install应运行测试用例.希望这对你有所帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- java – Eclipse为域对象和带有’m’后缀的类成员
- Java 8 – 合并包含公共元素的所有子集
- java-使用hashCode返回HashMap的巨大Integer ID
- java – Hibernate或TopLink的替代品?
- java – 如何轮询FTP位置以触发其中的更改?
- java – Spring Boot命令行属性不覆盖applicatio
- 12-01 Java Scanner类,Scanner类中的nextLine()
- java – Spring Data Repositories – 查找列表中
- java – 多线程总是比单线程产生更好的性能?
- Comet OJ - Contest #10 C-鱼跃龙门 (扩展GCD+暴
热点阅读