Переключение между родным приложением iOS и сафари и запуск приложения точно с той же страницы, где я его оставил и перешел на сафари

Сценарий 1: по моему ios1-й этап - регистрация, которая немного длинная. Мне нужно заполнить 15 страниц, чтобы завершить процесс регистрации. На 5-й странице приведен код подтверждения, код уже отправлен на идентификатор электронной почты. так что из этой кодовой страницы проверки я хочу сделать ->

Сценарий 1:
Переключиться на сафари
выполнить задание в сафари
Хотите вернуться в приложение на странице подтверждения кода.
Я могу успешно сделать шаг 1 и 2. Проблема в шаге 3, когда я открыл свое приложение с driver.launchApp() команда, приложение запускается с самого начала, но я хочу запустить его со страницы "код подтверждения".
Потому что, если начать его с первой страницы, то будет сгенерирован другой код.

Сценарий 2:
Предположим, что во время запуска скрипта я получил ошибку на 4-й странице моего процесса регистрации. После исправления проблемы я хочу запустить его с 4-й страницы. Я имею в виду, что хочу начать именно с того же места, куда я ушел в прошлый раз. Как я могу сделать это в appium???

Appium: Версия для ПК: 1.10.0
Xcode: версия: 10.1
Simulator: iphone-6s (12.1)

Ниже я приложил свой код, пожалуйста, посмотрите,

    public class Base {
    private String reportDirectory = “reports”;
    private String reportFormat = “xml”;
    private String testName = “TestIOS”;
    public static int counter= 0;
    public AppiumDriver driver;
    public static SeeTestClient client;

    public DesiredCapabilities dc = new DesiredCapabilities();

    static UUID uuid = UUID.randomUUID();
    static long l = ByteBuffer.wrap(uuid.toString().getBytes()).getLong();
    static String id = Long.toString(l, Character.MAX_RADIX);
    static String storedId= id;


    @BeforeTest
        public void setUp() throws MalformedURLException {
        dc.setCapability("reportDirectory", reportDirectory);
        dc.setCapability("reportFormat", reportFormat);
        dc.setCapability("testName", testName);

        dc.setCapability("automationName", "XCUITest");
        dc.setCapability("platformName", "iOS");
        dc.setCapability("deviceName", "iPhone 6s");
        dc.setCapability("platformVersion", "12.1");
        dc.setCapability("app", "/Users/bs215/IdeaProjects/meedapptest/Apps/MEED/meed.app");
        dc.setCapability(IOSMobileCapabilityType.BUNDLE_ID, "net.....");

        dc.setCapability("autoAcceptAlerts", true);
        dc.setCapability("fullReset", false);
        dc.setCapability("noReset", true);
        dc.setCapability("clearSystemFiles", true);
        dc.setCapability("autoWebview", true);
        driver = new IOSDriver<>(new URL("http://localhost:4723/wd/hub"), dc);
        client = new SeeTestClient(driver);
        driver.setLogLevel(Level.INFO);
    }

    @Test(priority = 11)
    public void GMA_TC_10_verifyEmailVerificationCode () throws Exception{

        signupPage signUp= new signupPage();
       String code= other.varificationCode.emailid(driver);
       driver.launchApp();
    }
}





package other;
    public class varificationCode extends Base {
    public static AppiumDriver driver2;

    public static String emailId(AppiumDriver driver) throws Exception {

    DesiredCapabilities capabilities = new DesiredCapabilities();
      capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, "iOS");
      capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, "12.1");
      capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "iPhone 6s");
      capabilities.setCapability(MobileCapabilityType.BROWSER_NAME, "Safari");
      capabilities.setCapability("autoWebview", true);
      capabilities.setCapability("useNewWDA", true);
      driver2 = new IOSDriver<>(new URL("http://localhost:4723/wd/hub"), capabilities);

    driver2.get(“http://www.yopmail.com”);
    driver2.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
    String requiredcode;

    =======doing the task and get the code from mail========

    return requiredcode;
    }
    }

0 ответов

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