08-appium-滑动方法封装

简介: 08-appium-滑动方法封装

滑动方法介绍

1. def swipe(self: T, start_x: int, start_y: int, end_x: int, end_y: int, duration: int = 0) -> T:
2. """从一个点滑动到另一个点,duration是持续时间.
3. 
4.         Args:
5.             start_x: 开始滑动的x坐标
6.             start_y: 开始滑动的y坐标
7.             end_x: 结束点x坐标
8.             end_y: 结束点y坐标
9.             duration: 持续时间,单位毫秒 
10. 
11. 
12.         Usage:
13.             driver.swipe(100, 100, 100, 400)
14. 
15.        """

滑动方法封装

1. # -*- coding: utf-8 -*-
2. # @Time    : 2021/5/1
3. # @Author  : 大海
4. from time import sleep
5. from appium import webdriver
6. 
7. desired_capabilities = {
8. "platformName": "Android",  # 测试的平台 Android/iOS
9. "deviceName": "127.0.0.1:62001",  # adb devices 查看,这里使用的是夜神模拟器
10. "platformVersion": "7.1.2",
11. "appPackage": "com.jingdong.app.mall",  # 京东app
12. "appActivity": ".main.MainActivity"
13. 
14. }
15. 
16. driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_capabilities=desired_capabilities)
17. driver.implicitly_wait(10)
18. # 获取屏幕的size
19. size = driver.get_window_size()
20. print(size)
21. # 屏幕宽度width
22. print(size['width'])
23. # 屏幕高度width
24. print(size['height'])
25. 
26. # 点击同意
27. driver.find_element_by_id('com.jingdong.app.mall:id/bqd').click()
28. 
29. 
30. def swipe_up(driver, t=500, n=1):
31. """向上滑动屏幕"""
32. print("向上滑动屏幕")
33.     s = driver.get_window_size()
34.     x1 = s['width'] * 0.5  # x坐标
35.     y1 = s['height'] * 0.75  # 起始y坐标
36.     y2 = s['height'] * 0.25  # 终点y坐标
37. for i in range(n):
38.         driver.swipe(x1, y1, x1, y2, t)
39. 
40. 
41. def swipe_down(driver, t=500, n=1):
42. """向下滑动屏幕"""
43. print("向下滑动屏幕")
44.     s = driver.get_window_size()
45.     x1 = s['width'] * 0.5  # x坐标
46.     y1 = s['height'] * 0.25  # 起始y坐标
47.     y2 = s['height'] * 0.75  # 终点y坐标
48. for i in range(n):
49.         driver.swipe(x1, y1, x1, y2, t)
50. 
51. 
52. def swipe_left(driver, t=500, n=1):
53. """向左滑动屏幕"""
54. print("向左滑动屏幕")
55.     s = driver.get_window_size()
56.     x1 = s['width'] * 0.75
57.     y1 = s['height'] * 0.5
58.     x2 = s['width'] * 0.25
59. for i in range(n):
60.         driver.swipe(x1, y1, x2, y1, t)
61. 
62. 
63. def swipe_right(driver, t=500, n=1):
64. """向右滑动屏幕"""
65. print("向右滑动屏幕")
66.     s = driver.get_window_size()
67.     x1 = s['width'] * 0.25
68.     y1 = s['height'] * 0.5
69.     x2 = s['width'] * 0.75
70. for i in range(n):
71.         driver.swipe(x1, y1, x2, y1, t)
72. 
73. 
74. if __name__ == '__main__':
75.     sleep(5)
76.     swipe_up(driver)
77.     swipe_down(driver)
相关文章
|
6天前
|
测试技术 API Python
Appium控件交互策略:优化自动化测试效率的关键方法
该文介绍了如何使用Selenium与APP进行交互,包括点击、输入和状态判断等操作。例如,通过element.click()点击控件,element.send_keys()输入文本,以及element.is_displayed()检查元素是否可见。还展示了如何获取元素属性,如resource-id、text和class,并提供了Python代码示例来定位并操作APP元素,如滑动条的显示、可点击性检测及点击滑动条中心位置。在编写测试脚本时,应注意元素定位和状态验证以确保测试稳定性。
23 1
|
6天前
Appium使用UiSelector封装文本定位方法find_element_by_text
Appium使用UiSelector封装文本定位方法find_element_by_text
32 1
|
6天前
|
编解码 Java 测试技术
『App自动化测试之Appium应用篇』| uiautomator + accessibility_id定位方法完全使用攻略
『App自动化测试之Appium应用篇』| uiautomator + accessibility_id定位方法完全使用攻略
133 0
|
6天前
|
测试技术 Python
多种方法实现Appium屏幕滑动:让用户仿真动作更简单
本文介绍了Appium在移动端自动化测试中如何模拟用户滑动操作。滑动常见于触摸事件模拟,坐标计算和惯性滑动场景。Appium提供了`swipe`和`scroll`两种方法:`swipe`需要指定起始和结束坐标及可选的持续时间;`scroll`则直接使用起始和结束元素进行滑动。文中给出了Python示例代码,展示了如何在不同场景下执行滑动操作。
37 9
|
6天前
|
移动开发 安全 测试技术
『App自动化测试之Appium应用篇』| 继承于selenium常用的元素定位方法有哪些?如何使用?
『App自动化测试之Appium应用篇』| 继承于selenium常用的元素定位方法有哪些?如何使用?
98 0
|
6天前
Appium文本定位方法实现find_element_by_text
Appium文本定位方法实现find_element_by_text
26 0
|
6天前
|
小程序 Android开发
Appium微信小程序自动化之开启webview调试功能方法封装
Appium微信小程序自动化之开启webview调试功能方法封装
99 0
|
6天前
Appium自动化常用adb操作封装
Appium自动化常用adb操作封装
31 0
|
6天前
|
Python
Python Appium Selenium 查杀进程的实用方法
Python Appium Selenium 查杀进程的实用方法
41 1
|
6天前
|
JavaScript
Appium获取toast方法封装
Appium获取toast方法封装
23 1