ENV: Seleniuim网络驱动程序,testng,eclipse,java 1.8
我有一个测试。我可以从testng套件中运行它(右键单击套件>运行为> testng套件)。如果我直接运行测试(右键单击测试>运行> testng测试),我收到错误:
org.testng.TestNGException:参数'浏览器'是必需的 @Configuration方法MethodSetup但尚未标记为@Optional 或定义于 C:\ Users \用户米\应用程序数据\本地\ TEMP \ TestNG的-蚀 - 1694993462 \ TestNG的-customsuite.xml
BaseTest:
public class BaseTest {
protected WebDriver driver;
@Parameters ({"browser"})
@BeforeMethod
protected void MethodSetup(String browser){
System.out.println("method set up");
driver = Browsers.getDriver(browser);
}
//....
}
测试:
public class LoginTest extends BaseTest{
@Parameters({ "browser" , "ch" })
@SuppressWarnings("deprecation")
@Test
public void positiveLoginTest(){
String expectedPageTitle = "Seeker Dashboard - Profile";
String Expectedprofilename = "md";
//...
}
TestNG套件:
<suite name="TestAll">
<test name="ie1">
<parameter name="browser" value="ch"/>
<classes>
<class name="com.dice.LoginTest">
<methods>
<include name="positiveLoginTest"/>
</methods>
</class>
</classes>
</test>
</suite>
答案 0 :(得分:0)
您指定 作为套件xml中的参数。当您作为套件运行时,将使用该特定的xml。但是当你选择一个测试并运行它时,testng会创建一个自定义的testng文件(没有参数,没有参数,没有监听器 - 你可以查看你提到的路径上的文件)。
如果这是您使用的标准xml,则需要在eclipse中将xml指定为模板xml。转到项目属性 - &gt; testng - &gt;将xml设置为模板xml。