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();
        }

снимок экрана для отображаемого диалогового окна SMS

0 ответов

Другие вопросы по тегам