gpt4 book ai didi

java - @Test 方法无法注入(inject) TestNG 类中的多个类

转载 作者:太空宇宙 更新时间:2023-11-04 09:39:41 27 4
gpt4 key购买 nike

我已经创建了一个带有 TestNG 类的 Maven 项目。在 TestNG.xml 中,我给出了套件名称。我曾使用多个浏览器Chrome和Firefox并行运行。只需使用安装类和另一个类,它就可以正常工作,但是当我使用 @Test 注释包含多个类时,我将收到注入(inject)错误并给出错误。

我将提供我尝试过的代码

安装程序.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 {

}

我收到的错误为:

Cannot inject @Test annotated Method [valid_test] with [class org.openqa.selenium.remote.DesiredCapabilities].

期望运行两个测试用例 valid_logintest 和 valid_test

最佳答案

很可能您的项目中某个地方有一个函数,如下所示:

@Test
public void sometest(DesiredCapabilities caps) {
}

这不是正确的参数化方式 TestNG test methods ,你应该删除这个 DesiredCapabilities来自用 @Test 注释的方法的参数

如果您想将外部参数传递给用 @Test 注释的方法,您应该使用 @Parameters annotation

关于java - @Test 方法无法注入(inject) TestNG 类中的多个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56112493/

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