gpt4 book ai didi

java - 同时测试浏览器;接收错误

转载 作者:数据小太阳 更新时间:2023-10-29 02:13:41 28 4
gpt4 key购买 nike

现在,我正在尝试进行我的第一个测试,该测试将并行测试浏览器 Chrome、Firefox、IE 和 Safari。但是我得到的以下错误是这样的:

FAILED CONFIGURATION: @BeforeMethod beforeMethod org.testng.TestNGException: Parameter 'browser' is required by @Configuration on method beforeMethod but >has not been marked @Optional or defined

我在 JAVA 语言中使用 Selenium、TestNG 和 Maven。 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 installmvn clean install 应该运行测试用例。希望这对你有帮助。

关于java - 同时测试浏览器;接收错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33947509/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com