QAF: com.qmetry.qaf.automation.step.StepInvocationException: невозможно создать экземпляр JavaStep: - PullRequest
0 голосов
/ 19 марта 2020

Мы используем QAF для нашей мобильной автоматизации. И есть 1 шаг в. bdd файле, который является общим и фактически первым шагом для многих тестов.

    META-DATA: {"author":"<XXX>","description":"SRS-HLP-001-001", "fullReset":true ,groups:[ "EXISTING_USER" , "IOS" , "ANROID" , "REGRESSION_1" , "HELP" ]}
    Given User waits for sometime

And the step definition is:

    @QAFTestStep(description = "User waits for sometime")
    public void stepDefinitionMethodName() throws InterruptedException {
        Thread.sleep(5000);
    }

При выполнении теста я вижу, что тест фактически пропускается очень часто а также в случайном порядке. И причина сбоя: com.qmetry.qaf.automation.step.StepInvocationException: Невозможно создать экземпляр JavaStep: []

В отчете Eclipse / TestNG не показано ничего, кроме этого.

В журналах Appium говорится следующее:

[debug] [XCUITest] Проверка наличия в файле приложения '/var/folders/_j/9fbrggk96v3b44hlbshdp9tm0000gn/T/2020219-5328-duszjq.92kdd/Payload/.app' system [ошибка] [XCUITest] Ошибка: было отказано в подключении к порту 51487 [ошибка] [XCUITest] в Usbmux.connect (/Applications/Appium.app/Contents/Resources/app/node_modules/appium-ios-device/lib /usbmux/index.js:183:13) [info] [DevCon Factory] Освобождение соединений для устройства 202bc3b5a4c4571e98c08785b278002c7deed0f3 на любом номере порта [info] [DevCon Factory] Кэшированные соединения не найдены [debug] [BaseDriver] Event ' newSessionStarted 'зарегистрирован в 1584634979919 (21:52:59 GMT + 0530 (IST)) [debug] [W3C] Внутренняя ошибка при выполнении команды выполнения: Ошибка: Соединение было отклонено к порту 51487 [deb ug] [W3C] на Usbmux.connect (/Applications/Appium.app/Contents/Resources/app/node_modules/appium-ios-device/lib/usbmux/index.js:183:13) [информация] [HTTP] <- POST / wd / hub / session 500 40513 мс - 702 </p>

И при следующем запуске тот же тест может пройти.

Если посмотреть на реализацию шага, то это очень просто, поскольку он использует thread.sleep для ожидания в течение 5 секунд. Я не могу придумать причину, по которой этот шаг теста должен выдать вышеуказанную ошибку.

Вышеуказанный шаг был из сценария ниже. Я удалил вышеуказанный шаг и повторно выполнил тест. И снова это не удалось, как показано ниже:

#SRS-HLP-001-001
SCENARIO: <description>
META-DATA: {"author":"<XXX>","description":"SRS-HLP-001-001", "fullReset":true ,groups:[ "EXISTING_USER" , "IOS" , "ANROID" , "REGRESSION_1" , "HELP" ]}
    Given User accepts Alert box if any
    And Verify user is navigated to home screen, else login with "${login.user_name}" and "${login.password}"
    And User accepts Alert box if any
    Then Verify main Help screen will be displayed Help tab is clicked
END

@QAFTestStep(description = "User accepts Alert box if any")
    public void acceptAlerts() throws InterruptedException {
        handleBTPermissionAlert();
        handlePNSPermissionAlert();
    }

И это ошибка в eclipse: com.qmetry.qaf.automation.step.StepInvocationException: Невозможно создать JavaStep: acceptAlerts []

И это подробности слушателя:

<test enabled="true" name="Help">
        <parameter name="env.resources"
            value="resources/data;resources/ios" />
        <parameter name="step.provider.pkg"
            value="qaf.<xxx>.tests;qaf.<xxx>.steps;qaf.<xxx>.ios.steps" />
        <parameter name="appium.capabilities.app"
            value="<path to the app>" />
        <parameter name="scenario.file.loc" value="scenarios/Help.bdd" />
        <classes>
            <class>
                name="com.qmetry.qaf.automation.step.client.text.BDDTestFactory" />
        </classes>
    </test>

И это используемый плющ. xml.

<ivy-module version="2.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
    <info organisation="com.qmetry" module="QAF" status="integration">
    </info>

    <dependencies>
        <dependency org="com.qmetry" name="qaf" rev="2.1.15" force="true"/>
        <dependency org="com.qmetry" name="qaf-support" rev="2.1.13" />
        <dependency org="com.qmetry" name="qaf-support-ws" rev="2.1.15" />
        <dependency org="org.aspectj" name="aspectjtools" rev="1.9.5"/>
        <dependency org="org.aspectj" name="aspectjweaver" rev="1.9.5" />
        <dependency org="ant-contrib" name="ant-contrib" rev="1.0b3"/>
        <dependency org="io.appium" name="java-client" rev="7.3.0"/>
        <dependency org="org.seleniumhq.selenium" name="selenium-java" rev="3.141.59" force="true"/>
    </dependencies>
</ivy-module>

Требуется помощь, чтобы убедиться, что контрольные примеры не пропускаются часто ,

...