【发布时间】:2017-05-10 15:12:55
【问题描述】:
我正在为移动应用程序自动化工作。对于所有设备的操作系统和制造商虎钳 UI 都不同。例如。日期和时间选择器。
如何管理移动应用程序自动化?
【问题讨论】:
标签: android selenium automated-tests appium ui-automation
我正在为移动应用程序自动化工作。对于所有设备的操作系统和制造商虎钳 UI 都不同。例如。日期和时间选择器。
如何管理移动应用程序自动化?
【问题讨论】:
标签: android selenium automated-tests appium ui-automation
首先,您需要确定是否使用相同的代码为不同平台开发移动应用程序。例如,有一些跨平台软件可用于编写可在 iOS 和 Android 上运行的代码。在这种情况下,应用程序中不同控件的底层属性将是相同的。这将允许您编写适用于 Android 和 iOS 的相同脚本。
您可以使用页面工厂模型并使用@AndroidFindby 和@iOSFindBy 在不同的平台上进行识别并使用单个变量对其进行引用。
示例 -
@AndroidFindBy(uiAutomator="new UiSelector().text(\"Login\")")
@iOSFindBy(xpath="//UIAStaticText[@name='Login']")
private WebElement loginButton;
public void clickOnLoginButton() {
loginButton.click();
}
上述代码中的clickOnLoginButton() 方法适用于Android 和iOS。关于日期和时间选择器等因操作系统而异的东西,您需要使用 if 条件来处理它。
超过 80% 的脚本可以在两种设备上运行而无需任何更改。对于其余的,您可能需要添加 if 条件,或编写单独的脚本。
【讨论】: