编写测试 (Python)
The Appium Python Client is an official Appium client in Python, which is available via pypi under the Appium-Python-Client package name. It inherits from the Selenium Python Binding, so installing the Appium Python Client includes the selenium binding.
此示例使用 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()
注意
本指南的范围不包括对 Python 客户端库或此处发生的所有事情进行完整概述,因此我们将暂时不详细解释代码本身。
- 您可能想特别了解 Appium 功能。
- Python 客户端 GitHub 存储库中的功能测试代码 应该有助于找到更多工作示例。
- 文档 也有助于找到 Appium Python 客户端中定义的方法。
注意
示例代码可从 GitHub Appium 存储库 获取。
基本上,这段代码正在执行以下操作
- 定义一组要发送到 Appium 服务器的“功能”(参数),以便 Appium 知道您想要自动化什么。
- 在内置的 Android 设置应用程序上启动 Appium 会话。
- 找到“电池”列表项并单击它。
- 暂停片刻,纯粹是为了视觉效果。
- 结束 Appium 会话。
就是这样!让我们试一试。在运行测试之前,请确保您在另一个终端会话中运行了 Appium 服务器,否则您将收到无法连接到服务器的错误。然后,您可以执行脚本
如果一切顺利,您将看到设置应用程序打开并导航到“电池”视图,然后应用程序再次关闭。
恭喜,您已经开始了 Appium 之旅!继续阅读以了解一些 下一步 以便探索。