如何在本机移动应用程序和 Web 应用程序之间切换以验证其上的元素

How to Switch between Native Mobile App to Web Application to verify the elements on it

问题:

  1. 在 Android 设备上,我使用 Appium Automation 工具启动应用程序,这是一个本机应用程序,并且此应用程序有一个外部 link 到 Web URL。一旦用户点击它,URL 将启动
  2. 现在在这个 URL 上,我需要验证它是否按预期启动了正确的 URL

到目前为止我做了什么:

  1. 启动本机应用程序
  2. 在应用程序中点击 Link
  3. 外部浏览器启动
  4. 检查了URL
  5. 的元素
  6. 现在我的脚本查找该元素以获取 url 文本,例如 - driver.findelement(by.id(" ")).gettext();
  7. 当进入第5步时,看到错误说找不到元素

感觉是,在网页视图中找不到元素,是否需要从移动视图切换到网页视图?

如果可以,怎么做?

开始吧:

MobileElement makeTextLocartor = (MobileElement) wd
            .findElementByAndroidUIAutomator("new UiSelector().description(\"<text>\")");
    makeTextLocartor.click();

    MobileElement TextLocartor = (MobileElement) wd
            .findElementByAndroidUIAutomator("new UiSelector().text(\"<text>\")");
    makeTextLocartor.click();

    wd.findElementById("android:id/button1").click();


    WebElement findElementById = wd.findElementById("com.android.chrome:id/url_bar");
    String text = findElementById.getText();
    System.out.println(text);

以上代码将帮助您获取 chrome 地址框文本。