我正在通过硒网格进行测试。我已经收到上述错误。 以下是我尝试过的解决方案
错误仍然存在
我的testg文件如下
<suite name="TestSuite" thread-count="2" parallel="tests">
<listeners>
<listener class-name="com.hrmapp.orangehrm.Tests.ExtentListener"></listener>
</listeners>
<test name="tests">
<parameter name="browser" value="chrome"></parameter>
<classes>
<class name="com.hrmapp.orangehrm.Tests.OrangeHRMTests"></class>
</classes>
</test>
<test name="tests2">
<parameter name="browser" value="firefox"></parameter>
<classes>
<class name="com.hrmapp.orangehrm.Tests.OrangeHRMTests"></class>
</classes>
</test>
</suite>
我的java类如下
@Parameters("{browser}")
@BeforeClass
public void setup(String browser) throws IOException {
System.out.println(browser);
launch(browser);
}
public static void launch(String browser) throws MalformedURLException{
prop=PropertyReader.readData();
setDriver(browser);
// setDriver(prop.getProperty("browser"));
getDriver().manage().window().maximize();
getDriver().get(prop.getProperty("url"));
}
感谢您的时间
答案 0 :(得分:0)
尝试在测试前传递浏览器参数,因为您的测试设置值在.xml中。
@BeforeTest(alwaysTrue = true)
@Parameters("{browser}")
public void setup(String browser) throws IOException {
System.out.println(browser);
launch(browser);
}
让我知道是否行得通,我来看一下。
答案 1 :(得分:0)
我更正了参数的语法后,此问题得到解决
正确的语法是
Parameter({"browser"})
和 不是
Parameter("{browser}")
答案 2 :(得分:0)
可以请您尝试执行以下代码,让我们知道它是否有效
@Parameters("browser")
@BeforeClass
public void setup(String browser) throws IOException {
System.out.println(browser);
launch(browser);
}