我想在真实情况下使用appium工具使iOS应用程序自动化。我已经从应用商店中安装了该应用。因此,如何在真实设备中启动该应用程序。我可以使用appium自动化应用程序的登录/注册功能吗?
我添加了类似的依赖项
cap.setCapability("platformName", "iOS");
cap.setCapability("platformVersion", "11.4");
cap.setCapability("deviceName", "iPhone 8");
cap.setCapability("UDID", "hsgd57576s5dfsdf7s56d7f5s");
cap.setCapability("app", “appname.app“);
该应用未在真实设备中启动。
答案 0 :(得分:2)
您使用的是错误的Desired Capability
app
-.ipa文件(IOS)、. app文件夹(IOS Simulator)、. apk文件(Android)或.apks文件(Android App Bundle)的绝对本地路径或远程http URL,或包含以下文件之一的.zip文件(对于.app,.app文件夹必须是zip文件的根目录)。 Appium将首先尝试在适当的设备上安装此应用程序二进制文件。请注意,如果您指定appPackage和appActivity功能(请参阅下文),则Android不需要此功能。与browserName不兼容。有关.apks文件,请参见here。
要使iOS应用程序自动化,无论起源如何,都需要传递bundleId
bundleId
-被测应用的捆绑ID。对于在真实设备上启动应用程序或使用其他在测试启动过程中需要捆绑软件ID的功能非常有用。要使用包ID在真实设备上运行测试,您可以省略“ app”功能,但必须提供“ udid”。
还要确保遵循Appium XCUITest Driver Real Device Setup中的说明,因为您将需要为WebDriverAgent-Runner应用程序设置配置文件,以便能够将其部署到真实的iOS设备上。如果您对provisioning profiles and code signing不太熟悉,建议您考虑使用Appium Studio,它提供一个GUI向导,允许您设置Apple开发人员帐户并正确配置代码签名,以便在真实的iOS设备上运行Appium测试。