Внедрение тестового прогона для тестирования аппиевых тестов на огурец - PullRequest
0 голосов
/ 21 января 2019

Здравствуйте, я пытаюсь настроить наши тесты автоматизации для запуска в AWS Device Farm, но при попытке добавить тестовый прогон он терпит неудачу на ферме устройств. Я совершенно новичок в настройке этого, так что это может быть очевидным исправлением, которое я пропускаю.

Для начала я разобрался с примером проекта AWS, найденным здесь , и все работало нормально при локальном запуске и в ферме устройств.

Я изменил эту кодовую базу, чтобы протестировать экран входа в наши приложения, и снова он отлично работал как локально, так и на ферме устройств. Но когда я попытался добавить тестовый прогон, чтобы я мог добавить тесты для большего количества экранов, он внезапно перестал работать. Я читал в Интернете, и из того, что я вижу, я настроил его правильно.

  • ветку для рабочей версии наших тестов можно найти здесь
  • Ветка с испорченной версией, пытающейся добавить тестового бегуна, здесь

Это ошибки, которые я получаю из журналов appium ферм устройств:

Background: A Login Page             [90m# Features/LoginTest.feature:5[0m
    [31mGiven [0m[31mI navigate to the login page[0m [90m# LoginTest.setUpPage()[0m
      [31mjava.lang.NullPointerException
        at io.appium.java_client.pagefactory.AppiumFieldDecorator.getTypeForProxy(AppiumFieldDecorator.java:132)
        at io.appium.java_client.pagefactory.AppiumFieldDecorator.proxyForLocator(AppiumFieldDecorator.java:146)
        at io.appium.java_client.pagefactory.AppiumFieldDecorator.decorate(AppiumFieldDecorator.java:92)
        at org.openqa.selenium.support.PageFactory.proxyFields(PageFactory.java:112)
        at org.openqa.selenium.support.PageFactory.initElements(PageFactory.java:104)
        at Pages.BasePage.<init>(BasePage.java:51)
        at Pages.IntroPage.<init>(IntroPage.java:24)
        at Tests.LoginTest.setUpPage(LoginTest.java:43)
        at ✽.Given I navigate to the login page(Features/LoginTest.feature:6)
      [0m
[31mFailure in after hook:[0m[31mLoginTest.restartApp()[0m
[31mMessage: [0m[31mjava.lang.NullPointerException
    at Tests.AbstractBaseTests.TestBase.afterScenario(TestBase.java:28)
    at Tests.LoginTest.restartApp(LoginTest.java:106)
    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 cucumber.runtime.Utils$1.call(Utils.java:40)
    at cucumber.runtime.Timeout.timeout(Timeout.java:16)
    at cucumber.runtime.Utils.invoke(Utils.java:34)
    at cucumber.runtime.java.JavaHookDefinition.execute(JavaHookDefinition.java:60)
    at cucumber.runtime.Runtime.runHookIfTagsMatch(Runtime.java:224)
    at cucumber.runtime.Runtime.runHooks(Runtime.java:212)
    at cucumber.runtime.Runtime.runAfterHooks(Runtime.java:206)
    at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:46)
    at cucumber.runtime.model.CucumberFeature.run(CucumberFeature.java:165)
    at cucumber.api.testng.TestNGCucumberRunner.runCucumber(TestNGCucumberRunner.java:63)
    at TestRunner.feature(TestRunner.java:25)
    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.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
    at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
    at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
    at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
    at org.testng.TestRunner.privateRun(TestRunner.java:767)
    at org.testng.TestRunner.run(TestRunner.java:617)
    at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
    at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:343)
    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:305)
    at org.testng.SuiteRunner.run(SuiteRunner.java:254)
    at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
    at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
    at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
    at org.testng.TestNG.run(TestNG.java:1057)
    at org.testng.TestNG.privateMain(TestNG.java:1364)
    at org.testng.TestNG.main(TestNG.java:1333)
[0m
      [31mjava.lang.NullPointerException
        at Tests.AbstractBaseTests.TestBase.afterScenario(TestBase.java:28)
        at Tests.LoginTest.restartApp(LoginTest.java:106)
        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 cucumber.runtime.Utils$1.call(Utils.java:40)
        at cucumber.runtime.Timeout.timeout(Timeout.java:16)
        at cucumber.runtime.Utils.invoke(Utils.java:34)
        at cucumber.runtime.java.JavaHookDefinition.execute(JavaHookDefinition.java:60)
        at cucumber.runtime.Runtime.runHookIfTagsMatch(Runtime.java:224)
        at cucumber.runtime.Runtime.runHooks(Runtime.java:212)
        at cucumber.runtime.Runtime.runAfterHooks(Runtime.java:206)
        at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:46)
        at cucumber.runtime.model.CucumberFeature.run(CucumberFeature.java:165)
        at cucumber.api.testng.TestNGCucumberRunner.runCucumber(TestNGCucumberRunner.java:63)
        at TestRunner.feature(TestRunner.java:25)
        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.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
        at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
        at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
        at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
        at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
        at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
        at org.testng.TestRunner.privateRun(TestRunner.java:767)
        at org.testng.TestRunner.run(TestRunner.java:617)
        at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
        at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:343)
        at org.testng.SuiteRunner.privateRun(SuiteRunner.java:305)
        at org.testng.SuiteRunner.run(SuiteRunner.java:254)
        at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
        at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
        at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
        at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
        at org.testng.TestNG.run(TestNG.java:1057)
        at org.testng.TestNG.privateMain(TestNG.java:1364)
        at org.testng.TestNG.main(TestNG.java:1333)
      [0m

Не уверен, что я пропустил, но любая помощь будет оценена. Спасибо

...