@Configuration 在方法设置中需要获取参数“{browser}”,但尚未标记为@Optional 或已定义(已尝试的解决方案)
Getting Parameter '{browser}' is required by @Configuration on method setup but has not been marked @Optional or defined(Tried solutions)
我正在 运行 通过 selenium 网格进行测试。我一直在收到上述错误。
以下是我尝试过的解决方案
- 尝试了 testng.xml
的 运行 测试
- 从 testng 属性设置 testng.xml 的模板
错误仍然存在
我的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>
我的javaclass看起来像这样
@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"));
}
感谢您的宝贵时间
尝试在测试之前传递浏览器参数,因为您的测试设置值在 .xml.
@BeforeTest(alwaysTrue = true)
@Parameters("{browser}")
public void setup(String browser) throws IOException {
System.out.println(browser);
launch(browser);
}
如果不行请告诉我,我会看看。
我更正了参数的语法后,这个问题得到了解决
正确的语法是
Parameter({"browser"})
和
不是
Parameter("{browser}")
能否请您尝试执行以下代码,如果可行请告诉我们
@Parameters("browser")
@BeforeClass
public void setup(String browser) throws IOException {
System.out.println(browser);
launch(browser);
}
我正在 运行 通过 selenium 网格进行测试。我一直在收到上述错误。 以下是我尝试过的解决方案
- 尝试了 testng.xml 的 运行 测试
- 从 testng 属性设置 testng.xml 的模板
错误仍然存在
我的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>
我的javaclass看起来像这样
@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"));
}
感谢您的宝贵时间
尝试在测试之前传递浏览器参数,因为您的测试设置值在 .xml.
@BeforeTest(alwaysTrue = true)
@Parameters("{browser}")
public void setup(String browser) throws IOException {
System.out.println(browser);
launch(browser);
}
如果不行请告诉我,我会看看。
我更正了参数的语法后,这个问题得到了解决
正确的语法是
Parameter({"browser"})
和 不是
Parameter("{browser}")
能否请您尝试执行以下代码,如果可行请告诉我们
@Parameters("browser")
@BeforeClass
public void setup(String browser) throws IOException {
System.out.println(browser);
launch(browser);
}