我正在为android本机应用程序编写自动化测试,但是该应用程序的某些部分仅与功能兼容
//cap.setCapability("automationName", "uiautomator2");
cap.setCapability("automationName", "uiautomator");
和其他仅适用于
的零件 cap.setCapability("automationName", "uiautomator2");
所以我不知道我是否可以更改功能
答案 0 :(得分:0)
您的问题中有错字吗?我认为您两次写过uiautomator2
,但我想您想在uiautomator2
和espresso
之间切换。
因此,您不能在自动化框架之间切换会话。 Espresso和UIAutomator2在启动会话时都会启动您的应用程序。
您可以将脚本分为多个测试,其中一个测试使用一种自动化样式,而另一种测试则使用另一种自动化样式。
另一个选择是,您可以使用意图和深层链接将应用程序打开到特定位置。因此,如果您的测试需要运行这样的命令:
uiautomator2 command
|
v
espresso command
|
v
uiautomator2 command
|
v
espresso command
您可以创建指向应用程序中每个步骤的深层链接。因此,请使用uiautomator2启动驱动程序,执行一些操作,然后关闭该驱动程序并启动新的espresso会话,并使用第二步将您带入应用程序的android intent启动。然后继续以这种方式切换。
有关与appium进行深度链接的更多信息:
还要查看appPackage
和appActivity
所需的功能
答案 1 :(得分:0)
我在自动化本机android应用程序时遇到了同样的问题,在某些地方uiautomator不能正常工作,例如无法单击搜索按钮或无法像这样滚动,我搜索了2-3天,我发现出来,如果我们将功能从uiautomator更改为uiautomator2,我编写的脚本可以很好地工作,并且比uiautomator更快地实现自动化,那么如果您更改功能