Java @测试方法无法在TestNG类中注入多个类
我用TestNG类创建了一个Maven项目。在TestNG.xml中,我给出了套件名称。我使用多个浏览器Chrome和Firefox并行运行。仅使用setup类和一个以上的类就可以了,但是当我使用Java @测试方法无法在TestNG类中注入多个类,java,selenium,testng,Java,Selenium,Testng,我用TestNG类创建了一个Maven项目。在TestNG.xml中,我给出了套件名称。我使用多个浏览器Chrome和Firefox并行运行。仅使用setup类和一个以上的类就可以了,但是当我使用@Test注释包含多个类时,我会得到一个注入错误并给出一个错误 我将提供我尝试过的代码 Setup.java if (browser.equals("Firefox")) { /*the path of the gecko driver is set*/
@Test
注释包含多个类时,我会得到一个注入错误并给出一个错误
我将提供我尝试过的代码
Setup.java
if (browser.equals("Firefox")) {
/*the path of the gecko driver is set*/
System.setProperty("firefoxpath");
drfirefox=DesiredCapabilities.firefox();
drfirefox.setBrowserName("firefox");
drfirefox.setPlatform(Platform.WINDOWS);
} else {
/*the path of the chrome driver is set*/
System.setProperty("chrome path");
drchrome=DesiredCapabilities.chrome();
drchrome.setBrowserName("chrome");
drchrome.setPlatform(Platform.WINDOWS);
}
logintest_valid.java
@Test
public static void valid_logintest ()throws MalformedURLException, InterruptedException {
}
@Test
public static void valid_test ()throws MalformedURLException, InterruptedException {
}
我得到的错误如下:
无法使用[class org.openqa.selenium.remote.DesiredCapabilities]注入@Test注释的方法[valid_Test]
希望运行两个测试用例valid\u logintest和valid\u test,很可能您的项目中有一个函数,如下所示:
@Test
public void sometest(DesiredCapabilities caps) {
}
这不是正确的参数化方法,应该从带注释的方法中删除此参数
如果要将外部参数传递给带有
@Test
注释的方法,则应使用最有可能的是,您的项目中的某个地方有一个函数,该函数如下所示:
@Test
public void sometest(DesiredCapabilities caps) {
}
这不是正确的参数化方法,应该从带注释的方法中删除此参数
如果您想将外部参数传递给使用
@Test
注释的方法,您应该使用I'dsay@Test
注释应该在非静态方法上。I'dsay@Test
注释应该在非静态方法上。谢谢您,现在代码工作得非常好。当我将我的方法更改为非静态并从带有@Test code注释的方法中删除DesiredCapabilities参数时,它工作正常。非常感谢。非常感谢。代码现在运行得非常好。当我将我的方法更改为非静态并从带有@Test code注释的方法中删除DesiredCapabilities参数时,它工作正常。非常感谢。非常感谢。代码现在运行得非常好。当我将我的方法更改为非静态并从带有@Test code注释的方法中删除DesiredCapabilities参数时,它工作正常。非常感谢你,谢谢你,这么多代码现在运行得非常好。当我将我的方法更改为非静态并从带有@Test code注释的方法中删除DesiredCapabilities参数时,它工作正常。多谢各位