0

当我运行具有以下代码结构的 python 脚本时。

from appium import webdriver

desired_capabilities = {
  "appium:deviceName": "Android Emulator",
  "platformName": "Android",
  "appium:appPackage": "za.co.app",
  "appium:appWaitPackage": "za.co.app",
  "appium:appWaitActivity": "za.co.app.SplashActivity",
  "appium:appActivity": "za.co.app.SplashActivity",
  "appium:app": "C:\\Development\\AppiumDev\\myapp.apk"
}

driver = webdriver.Remote("http://localhost:4723/wd/hub", desired_capabilities)

发生的情况是 Appium 包装了 myapp.apk 并在我的设备上安装了一个包装的版本。

有没有办法防止 appium 将 apk 包装成只安装实际的 myapp.apk?与 TestProject 类似,在运行测试时,TestProject 在实际的 apk 上工作,并且不包装 APK 以安装 APK 的包装版本。

谢谢!

4

1 回答 1

0

禁用应用签名

对于最新的 Appium 版本 (1.22),如果未指定功能,则UIAutomator2用于 Android 。automationName

默认情况下,如果没有任何应用程序,则始终使用默认的 Appium 调试签名进行签名。

要取消所有签名检查并使驱动程序按设置使用应用程序包appium:noSign=true

desired_capabilities = {
  "appium:noSign": True,
  ...

这里还有一个选择:

禁用 Appium 应用安装

Appium 能够与已经预装的应用程序一起工作。

只需删除appium:app功能,并在自己测试之前安装应用程序,例如使用 adb。

adb -s <DEVICE ID> install <PATH TO APK>

参考

于 2022-02-11T10:19:20.590 回答