编写一个测试 (Python)

Appium Python Client 是官方的Appium Python客户端,可通过pypi里包名为Appium-Python-Client进行安装。 它继承自 Selenium Python Binding, 因此安装Appium Python客户端时会包含selenium绑定。

pip install Appium-Python-Client

这个示例使用Python内置的unittest模块,尽管你可以使用任何你想要的Python测试框架。 Appium Python客户端自动添加appium:供应商前缀。 通常你不需要担心前缀。

test.py
import unittest
from appium import webdriver
from appium.options.android import UiAutomator2Options
from appium.webdriver.common.appiumby import AppiumBy

capabilities = dict(
    platformName='Android',
    automationName='uiautomator2',
    deviceName='Android',
    appPackage='com.android.settings',
    appActivity='.Settings',
    language='en',
    locale='US'
)

appium_server_url = 'http://localhost:4723'

class TestAppium(unittest.TestCase):
    def setUp(self) -> None:
        self.driver = webdriver.Remote(appium_server_url, options=UiAutomator2Options().load_capabilities(capabilities))

    def tearDown(self) -> None:
        if self.driver:
            self.driver.quit()

    def test_find_battery(self) -> None:
        el = self.driver.find_element(by=AppiumBy.XPATH, value='//*[@text="Battery"]')
        el.click()

if __name__ == '__main__':
    unittest.main()

Note

在本指南中,我们不会详细解释Python客户端库或这里发生的所有事情,因此现在不对代码本身进行详细说明。

  • 你可能想要特别了解一下Appium Capabilities
  • Python客户端GitHub仓库中的功能测试代码应该有助于找到更多的工作示例。
  • 文档也有助于找到在Appium Python客户端中定义的方法。

Note

示例代码可从 GitHub Appium仓库 获取。

基本上,这段代码正在做以下事情:

  1. 定义一组“Capabilities”(参数),发送到Appium服务器,以便Appium知道你想要自动化的事物类型。
  2. 在内置的 Android 设置应用程序上启动 Appium 会话。
  3. 查找“Battery”列表项并点击它。
  4. 停顿片刻,纯粹是为了观察自动化视觉效果。。
  5. 结束Appium会话。

就这些!让我们试一试。在运行测试之前,请确保你有一个Appium服务器在另一个终端会话中运行,否则你将收到无法连接到服务器的错误。然后,你可以执行脚本:

python test.py

如果一切顺利,在应用再次关闭之前,你会看到 "设置 "应用打开并导航到 "Battery "视图。 恭喜您,您已经开始了您的Appium之旅了!继续阅读一些下一步骤来探索它吧。