当前位置: 首页 > 知识库问答 >
问题:

@测试方法无法在TestNG类中注入多个类

公德明
2023-03-14

我用TestNG类创建了一个Maven项目。在TestNG。xml我已经给出了套件的名称。我使用了多个浏览器Chrome和Firefox来并行运行。仅使用setup类和一个以上的类就可以了,但是当我使用@Test注释包含多个类时,我会得到一个注入错误,并给出一个错误。

我将提供我尝试过的代码

设置。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_logintest和valid_test

共有2个答案

壤驷承
2023-03-14

I'dsay@Test注释应该是非静态方法

於子晋
2023-03-14

最有可能的是,你在项目中的某个地方有一个功能,看起来像:

@Test
public void sometest(DesiredCapabilities caps) {  
}

这不是参数化TestNG测试方法的正确方法,您应该从带@Test注释的方法中删除此DesiredCapability参数

如果要将外部参数传递给用@Test注释的方法,则应使用@Parameters注释

 类似资料:
  • 我想编写控制器测试,也测试我的注释。到目前为止,我所读到的是,这是一条出路。 当我只有一个控制器可以顺利工作时。然而,当有两个或更多控制器测试类时,@mockbean似乎没有被正确使用。根据测试执行顺序,第一个测试类中的所有测试都会成功,而其他所有测试都会失败。 在下面的测试运行中,首先执行PotatoControllerTest,然后执行FooControllerTest。 我试图用一个通用的来

  • 我有一个有点奇怪的问题。我目前正在使用Arquillian(1.1.0.final)和嵌入式GlassFish(3.1.2.2)。我使用以下指南来设置我的小测试项目。与集成的Derby数据库一起,一切都运行良好。我的真实应用程序使用PostgreSQL作为数据库,因此我配置了我的GlassFish资源如下: 并且我访问持久性上下文和用户事务,如上面的指南所述: 如果我运行我的测试类(Address

  • 问题内容: 我一直在寻找一种在测试方法中使用多个DataProvider的方法。我的情况如下: 假设我们有一个DataProvider类: 现在,在我的Test方法中,我要针对方案的所有组合运行: 绿广场 红方格 绿三角 红三角 鉴于我无法使用注释指定多个DataProvider,因此应如何在代码中实现此目标 问题答案: 由于缺乏更好的方法,我决定坚持解决方法。这是如何实现上述方案的示例: 这样,

  • 我是配置硒的新手。寻找路过的司机找到此解决方案https://stackoverflow.com/a/35101914/7104440我想知道是否有可能以这种方式从浏览器中注入许多驱动程序。是否可以绑定不同的驱动程序?我收到错误代码: 1)不允许绑定到null实例。如果这是您的预期行为,请使用Providers.of(null))。在assecobs.driver.DriverModule.con

  • POM依赖项 测试套件。xml