我可以更改执行中的appium驱动程序功能吗?

时间:2019-01-16 14:59:41

标签: java automated-tests appium appium-android

我正在为android本机应用程序编写自动化测试,但是该应用程序的某些部分仅与功能兼容

   //cap.setCapability("automationName", "uiautomator2");

    cap.setCapability("automationName", "uiautomator");

和其他仅适用于

的零件

cap.setCapability("automationName", "uiautomator2");

所以我不知道我是否可以更改功能

2 个答案:

答案 0 :(得分:0)

您的问题中有错字吗?我认为您两次写过uiautomator2,但我想您想在uiautomator2espresso之间切换。

因此,您不能在自动化框架之间切换会话。 Espresso和UIAutomator2在启动会话时都会启动您的应用程序。

您可以将脚本分为多个测试,其中一个测试使用一种自动化样式,而另一种测试则使用另一种自动化样式。

另一个选择是,您可以使用意图和深层链接将应用程序打开到特定位置。因此,如果您的测试需要运行这样的命令:

uiautomator2 command
         |
         v
  espresso command
         |
         v
uiautomator2 command
         |
         v
  espresso command

您可以创建指向应用程序中每个步骤的深层链接。因此,请使用uiautomator2启动驱动程序,执行一些操作,然后关闭该驱动程序并启动新的espresso会话,并使用第二步将您带入应用程序的android intent启动。然后继续以这种方式切换。

有关与appium进行深度链接的更多信息:

还要查看appPackageappActivity所需的功能

答案 1 :(得分:0)

我在自动化本机android应用程序时遇到了同样的问题,在某些地方uiautomator不能正常工作,例如无法单击搜索按钮或无法像这样滚动,我搜索了2-3天,我发现出来,如果我们将功能从uiautomator更改为uiautomator2,我编写的脚本可以很好地工作,并且比uiautomator更快地实现自动化,那么如果您更改功能