自动化浏览器和本机应用程序

Automate browser and native app

我想使用 Appium 在 Android

上自动执行以下场景
  1. 首先在Chrome中打开一个网页。该网页包含一个 登记表
  2. 填写表格然后点击提交按钮
  3. 提交按钮通过 uri 打开我的本机应用程序(相同的行为 当我们通过点击 link market://...)
  4. 打开 Google Play
  5. 终于与应用互动了

我可以使第 1 步到第 3 步自动化,但卡在了第 4 步。

Appium 可以吗?有没有其他测试框架可以自动化这种场景?

您似乎遇到了超时异常,只需更改您的代码 driver.find_element(By.id("my_button_id"))

WebDriverWait(driver, 10).until(lambda:driver.find_element(By.id("my_button_id")))

看来问题与从 webview 上下文更改为本机应用程序自己的上下文有关。这是在 Java 中使用命令 driver.context("NATIVE_APP");

完成的

要查看所有可用的上下文,请使用 driver.getContextHandles();,其中 returns 一个具有所有可用上下文的 Set<String>

本机上下文始终称为 "NATIVE_APP",网页视图通常被索引为 "WEBVIEW_0"、"WEBVIEW_1" 等等。

所有与 webview 不直接相关的应用程序交互通常需要在 "NATIVE_APP" 上下文中完成。