在Appium中,要在指定的坐标位置执行点击操作,你可以使用TouchAction类配合press和release方法。下面是一个简单的示例代码,展示了如何在指定的(x, y)坐标位置执行点击操作:
from appium import webdriver
from appium.webdriver.common.touch_action import TouchAction# 设置你的Appium服务器URL和Desired Capabilities
desired_caps = {"platformName": "Android","deviceName": "Android Emulator",  # 或者你的设备名称"appPackage": "你的应用包名","appActivity": "你的应用启动Activity",# 其他必要的配置...
}driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)# 定义点击的坐标
x = 750
y = 300# 创建TouchAction对象并执行点击
action = TouchAction(driver)
action.press(x=x, y=y).wait(ms=500).release().perform()# 记得在完成操作后关闭driver
driver.quit()
在这段代码中:
- TouchAction(driver)创建了一个TouchAction对象,该对象将用于构建和执行一系列的触摸动作。
- press(x=x, y=y)方法模拟了在指定坐标- (x, y)上的按下动作。
- wait(ms=500)方法是可选的,用于在按下和释放之间添加一个延迟,这有助于确保点击操作被正确识别。这不是必须的,但有时候对于某些应用或场景可能有所帮助。
- release()方法模拟了释放动作,通常紧跟在按下动作之后,完成点击操作。
- perform()方法执行之前构建好的整个触摸动作序列。
请确保将desired_caps中的值替换为适合你的测试环境和应用的实际值。坐标(x, y)也应该根据应用的实际界面布局进行调整。如果坐标不正确,点击操作将不会发生在预期的元素上。
此外,注意driver.quit()用于在测试完成后关闭driver连接,释放资源。在实际测试脚本中,你可能希望将这部分放在finally块中,以确保即使在发生异常时也能正确关闭driver。