Appium не может переключаться между приложениями
У меня есть приложение Flutter (Android), на котором я запускаю тестирование. Он использует Twilio для проверки. Когда я запускаю приложение, и оно доходит до фазы проверки, приложение должно быть свернуто, а приложение SMS должно быть запущено для получения отправленного OTP. Я установил это, чтобы минимизировать в течение 2 минут. Теперь он работает так, что отображает диалоговое окно OTP после сворачивания приложения, но не может переключать и закрывать диалоговое окно, поэтому драйвер завершает работу через определенный промежуток времени. Это фрагмент кода
public class AppRunner {
AndroidDriver<MobileElement> _driver;
@Test
public void StartButton() throws Exception {
_driver.findElementByXPath("click button ot generate OTP").click();
_driver.runAppInBackground(Duration.ofSeconds(120));
String OTP = OTPVerifiy();
_driver.currentActivity();
//OTP
MobileElement otp = (MobileElement) _driver.findElementByXPath("//android.widget.EditText[@index='5' and @class='android.widget.EditText' and @Text=' Enter Otp']");
otp.sendKeys(OTP);
}
public String OTPVerifiy() {
Activity activity = new Activity("com.android.mms", "com.android.mms.ui.ConversationList");
activity.setAppWaitPackage("com.android.mms");
activity.setAppWaitActivity("com.android.mms.ui.ConversationList");
activity.setStopApp(false);
if(((AndroidDriver<MobileElement>) _driver).findElementById("com.android.mms:id/mark_as_read_btn").isDisplayed()) {
((AndroidDriver<MobileElement>) _driver).findElementById("com.android.mms:id/mark_as_read_btn").click();
}
((AndroidDriver<MobileElement>) _driver).startActivity(activity);
List<MobileElement> OTP = _driver.findElementsById("com.android.mms:id/subject");
return OTP.get(0).getText().split("-")[1].trim();
}
}
Я проверил и успешно провел OTPVerifiy
по отдельности и сработало, но не видно диалоговое окно смс, и так, тест останавливается.
Это образец, который я запускал и работал
public String OTPVerifiy() {
Activity activity = new Activity("com.android.mms", "com.android.mms.ui.ConversationList");
activity.setAppWaitPackage("com.android.mms");
activity.setAppWaitActivity("com.android.mms.ui.ConversationList");
activity.setStopApp(false);
((AndroidDriver<MobileElement>) _driver).startActivity(activity);
List<MobileElement> OTP = _driver.findElementsById("com.android.mms:id/subject");
return OTP.get(0).getText().split("-")[1].trim();
}