如何管理不同设备的移动自动化?
How to manage mobile automation for different devices?
我正在从事移动应用程序自动化方面的工作。对于所有设备 OS 和制造商虎钳 UI 是不同的。例如。日期和时间选择器。
如何管理移动应用程序自动化?
首先,您需要弄清楚是否正在使用相同的代码为不同平台开发移动应用程序。例如,有一些跨平台软件可以用来编写在 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 都有效。关于日期和时间选择器之类的东西,它们因 OS 而异,您需要使用 if 条件来解决它。
超过 80% 的脚本无需任何更改即可在两种设备上运行。对于其余的,您可能需要添加 if 条件,或编写单独的脚本。
我正在从事移动应用程序自动化方面的工作。对于所有设备 OS 和制造商虎钳 UI 是不同的。例如。日期和时间选择器。
如何管理移动应用程序自动化?
首先,您需要弄清楚是否正在使用相同的代码为不同平台开发移动应用程序。例如,有一些跨平台软件可以用来编写在 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 都有效。关于日期和时间选择器之类的东西,它们因 OS 而异,您需要使用 if 条件来解决它。
超过 80% 的脚本无需任何更改即可在两种设备上运行。对于其余的,您可能需要添加 if 条件,或编写单独的脚本。