为什么TestNG抱怨使用@QAFDataProvider

问题描述 投票:1回答:1
@QAFDataProvider(dataFile = "src/test/resources/data/logintestdata.csv")
@Test(testName="testLoginPage", description="Login Page landing validation", priority=1, groups={"SMOKE"})
public void testLoginPage(Map<String, Object> data) {       

    // QAF - Qmetry Automation Framework calls

      get("/"); // Check base url in src/test/resources/application.properies file

      verifyText("login.box.header", "Sign In");
      verifyLinkWithTextPresent("Or Sign Up");
      verifyPresent("login.input.username");
      verifyPresent("login.input.password");
      verifyPresent("login.button.submit");
}

[错误] org.testng.TestNGException:无法使用[interface java.util.Map]注入@Test带注释的方法[testLoginPage]。有关本机依赖注入的更多信息,请参阅org.stng.intern.Parameters.creck中的org.testng.internal.Parameters.checkParameterTypes(Parameters.java:244)中的http://testng.org/doc/documentation-main.html#native-depend ency-injection(参数.java:172)org org.testng.internal.Parameters.handleParameters(Parameters.java:568)中的.testng.internal.Parameters.createParameters(Parameters.java:458)org.testng.internal.Invoker.handleParameters(Invoker.java:1293)at at org.testng.internal.Invoker.createParameters(Invoker.java:1020)org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1110)org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java) :624)在java.lang.Thread.run(Thread.java:748)

java testng qaf
1个回答
0
投票

正如您已经注意到,您的方法不能用java.util.Map作为参数。您是否尝试过使用DataProvider?

这是一个简短的例子:

@DataProvider(name = "data")
public static Object[][] dataProvider() {
    return new Object[][] { { "key1", "value1" }, { "key2", "value2" }};
}

@Test(dataProvider = "Authentication")
public void testLoginPage(String key, String value) {     
  //do something
}

对于数据提供程序中的每个键值对,都会调用testLoginPage方法一次。不确定它是否也适用于java.util.Map。

© www.soinside.com 2019 - 2024. All rights reserved.