com.qmetry.qaf.automation.step.client.ScenarioFactory.getTestsFromFile()引发异常

问题描述 投票:0回答:1

此处概述了以下步骤https://qmetry.github.io/qaf/qaf-2.1.14/gherkin_client.html

<test name="Gherkin-QAF-Test">
   <parameter name="step.provider.pkg" value="com.cucumber.steps" />
   <parameter name="scenario.file.loc" value="resources/features/component/test/smoke.feature" />
   <classes>
      <class name="com.qmetry.qaf.automation.step.client.gherkin.GherkinScenarioFactory" />
   </classes>
</test>

添加的功能文件

@Web
Feature: Google Search

@Smoke
Scenario: Search InfoStrech

Given I am on Google Search Page
When I search for "git qmetry"
Then I get at least 5 results
And it should have "QMetry Automation Framework" in search results

[在Java中添加了步骤

@QAFTestStep(description = "I am on Google Search Page")
public void step1() {
    System.out.println("I am on Google Search Page");
}

@QAFTestStep(description = "I search for {0}")
public void iSearchFor(String s) {
    System.out.println("I search for " + s);
}

@QAFTestStep(description="I get at least {num} results")
public void iGet_inSearchResults(Integer n) {
    System.out.printf("I get at least %d results\n", n);
}

@QAFTestStep(description="it should have {0} in search results")
public void itShouldHave_inSearchResults(String s) {
    System.out.printf("it should have %s in search results\n", s);
}

Ran xml文件为TestNG,下面出现错误:

[工厂方法类com.qmetry.qaf.automation.step.client.ScenarioFactory.getTestsFromFile()引发异常

org.testng.TestNGException: 
The factory method class com.qmetry.qaf.automation.step.client.ScenarioFactory.getTestsFromFile() threw an exception
    at org.testng.internal.FactoryMethod.invoke(FactoryMethod.java:197)
    at org.testng.internal.TestNGClassFinder.processFactory(TestNGClassFinder.java:223)
    at org.testng.internal.TestNGClassFinder.processMethod(TestNGClassFinder.java:179)
    at org.testng.internal.TestNGClassFinder.processClass(TestNGClassFinder.java:171)
    at org.testng.internal.TestNGClassFinder.<init>(TestNGClassFinder.java:121)
    at org.testng.TestRunner.initMethods(TestRunner.java:370)
    at org.testng.TestRunner.init(TestRunner.java:271)
    at org.testng.TestRunner.init(TestRunner.java:241)
    at org.testng.TestRunner.<init>(TestRunner.java:192)
    at org.testng.remote.support.RemoteTestNG6_12$1.newTestRunner(RemoteTestNG6_12.java:33)
    at org.testng.remote.support.RemoteTestNG6_12$DelegatingTestRunnerFactory.newTestRunner(RemoteTestNG6_12.java:66)
    at org.testng.SuiteRunner$ProxyTestRunnerFactory.newTestRunner(SuiteRunner.java:713)
    at org.testng.SuiteRunner.init(SuiteRunner.java:260)
    at org.testng.SuiteRunner.<init>(SuiteRunner.java:198)
    at org.testng.TestNG.createSuiteRunner(TestNG.java:1295)
    at org.testng.TestNG.createSuiteRunners(TestNG.java:1273)
    at org.testng.TestNG.runSuitesLocally(TestNG.java:1128)
    at org.testng.TestNG.runSuites(TestNG.java:1049)
    at org.testng.TestNG.run(TestNG.java:1017)
    at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)
    at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
    at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
Caused by: java.lang.IllegalArgumentException: wrong number of arguments
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.testng.internal.FactoryMethod.invoke(FactoryMethod.java:167)
    ... 21 more
something else I've noticed. After an update to "Scenario" in feature file next to each line of conditions I see warning with text:

Step '********' does not have a matching glue code

qaf
1个回答
0
投票

要回答原始问题,最简单的方法是开始使用maven templateANT template

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