В моем тесте нужно открыть и закрыть панель уведомлений и вернуться к приложению с устройства Android (Moto G4 Android 7 — ферма устройств AWS). Итак, я вызываю следующий метод в своем тесте
androidActivity.openAndCloseNotifications();
куда
public void openAndCloseNotifications() throws InterruptedException{
TimeUnit.SECONDS.sleep(3);
driver.openNotifications();
TimeUnit.SECONDS.sleep(3);
driver.pressKeyCode(AndroidKeyCode.BACK);
}
Тест проходит локально с устройством, но когда я запускаю его на ферме устройств AWS, я вижу, что панель уведомлений никогда не открывается, поэтому тест не проходит. На данный момент ферма устройств AWS позволяет взаимодействовать с панелью уведомлений? если нет, то как я могу с этим справиться? Потому что это было бы проблемой для большинства наших тестов. Заранее спасибо!
Это тест, в котором он терпит неудачу, терпит неудачу в строке androidActivity.openAndCloseNotifications();
:
public boolean run() throws Exception {
MainActivity mainActivity = new MainActivity(driver);
AndroidActivity androidActivity = new AndroidActivity(driver);
LoginActivity loginActivity = new LoginActivity(driver);
try {
if(device.getCapability("manufacturer")=="Huawei")
{
driver.closeApp();
driver.launchApp();
loginActivity.registerApp("whateverhere");
androidActivity.openAndCloseNotifications();
mainActivity.verifyAppIsReady();
assertTrue(mainActivity.check());
return true;
}
else {
driver.closeApp();
driver.launchApp();
loginActivity.registerApp("whateverhere");
androidActivity.openAndCloseNotifications();
mainActivity.verifyAppIsReady();
System.out.println("Verified Stop button is displayed");
assertTrue(mainActivity.check());
System.out.println("Verified title is displayed");
return true;
}
}
catch(Exception e) {
System.out.println(e);
return false;
}
}
Журналы из фермы устройств AWS (локально сбоев нет) .testng.Assert.failNotEquals(Assert.java:494)\n\tat org.testng.Assert.assertTrue(Assert.java:42)\n\tat org.testng.Assert.assertTrue(Assert.java:52)\ n\tat com.OneMeter.Robirdo.TestSequence1.test1(TestSequence1.java:48)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 62)\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.lang.reflect.Method.invoke(Method.java:498)\n\tat org.testng.internal. MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)\n\tat org.testng.internal.Invoker.invokeMethod(Invoker.java:714)\n\tat org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901) \n\tat org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)\n\tat org.tes tng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)\n\tat org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)\n\tat org.testng.TestRunner.privateRun(TestRunner.java: 767)\n\tat org.testng.TestRunner.run(TestRunner.java:617)\n\tat org.testng.SuiteRunner.runTest(SuiteRunner.java:348)\n\tat org.testng.SuiteRunner.runSequentially( SuiteRunner.java:343)\n\tat org.testng.SuiteRunner.privateRun(SuiteRunner.java:305)\n\tat org.testng.SuiteRunner.run(SuiteRunner.java:254)\n\tat org.testng. SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)\n\tat org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)\n\tat org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)\n\tat org.testng.TestNG.runSuitesLocally(TestNG.java:1149)\n\tat org.testng.TestNG.run(TestNG.java:1057)\n\tat org.testng.TestNG.privateMain(TestNG.java:1364) \n\tat org.testng.TestNG.main(TestNG.java:1333)\n\n