首页 > 其他分享 >APP自动化测试总结三:放大和缩小

APP自动化测试总结三:放大和缩小

时间:2022-12-28 17:47:19浏览次数:34  
标签:driver APP 0.5 actions finger 测试 自动化 pointer create

 1 import time
 2 
 3 from appium.webdriver import Remote
 4 from selenium.webdriver import ActionChains
 5 from selenium.webdriver.common.actions.mouse_button import MouseButton
 6 
 7 
 8 def zoom(driver: Remote, step=0.5, duration=None):
 9     actions = ActionChains(driver)
10     actions.w3c_actions.devices = []
11     # 初始化两个手指
12     finger1 = actions.w3c_actions.add_pointer_input('touch', f'finger1')
13     finger2 = actions.w3c_actions.add_pointer_input('touch', f'finger2')
14 
15     # 屏幕的宽度
16     width = driver.get_window_size()['width']
17     height = driver.get_window_size()['height']
18 
19     # 两个手指都移动到屏幕的中间
20     for finger in [finger1, finger2]:
21         finger.create_pointer_move(x=width*0.5, y=height*0.5)
22         finger.create_pointer_down(MouseButton.LEFT)
23         if duration:
24             finger.create_pause(duration / 1000)
25         else:
26             finger.create_pause(0.1)
27 
28     # 两个手指往反方向移动
29     finger1.create_pointer_move(x=width*0.5, y=height*(0.5+step/2))
30     finger2.create_pointer_move(x=width * 0.5, y=height * (0.5-step/2))
31 
32     # 松开
33     finger1.create_pointer_up(MouseButton.LEFT)
34     finger2.create_pointer_up(MouseButton.LEFT)
35 
36     # 释放操作
37     actions.perform()
38 
39 
40 def pitch(driver: Remote, step=0.5, duration=None):
41     actions = ActionChains(driver)
42     actions.w3c_actions.devices = []
43     finger1 = actions.w3c_actions.add_pointer_input('touch', f'finger1')
44     finger2 = actions.w3c_actions.add_pointer_input('touch', f'finger2')
45 
46     width = driver.get_window_size()['width']
47     height = driver.get_window_size()['height']
48 
49     finger1.create_pointer_move(x=width * 0.5, y=height*(0.5+step/2))
50     finger2.create_pointer_move(x=width * 0.5, y=height * (0.5-step/2))
51 
52     for finger in [finger1, finger2]:
53         finger.create_pointer_down(MouseButton.LEFT)
54         if duration:
55             finger.create_pause(duration / 1000)
56         else:
57             finger.create_pause(0.1)
58         finger.create_pointer_move(x=width * 0.5, y=height *0.5)
59         finger.create_pointer_up(MouseButton.LEFT)
60 
61     actions.perform()
62 
63 
64 
65 caps = {
66     'platformName': 'Android',
67     'udid': 'emulator-5554',
68     'appPackage': 'com.android.gallery3d',
69     'appActivity': '.app.GalleryActivity'
70 }
71 
72 driver = Remote(desired_capabilities=caps,
73                 command_executor='http://127.0.0.1:4723/wd/hub')
74 driver.implicitly_wait(8)
75 driver.find_element('id', 'com.android.gallery3d:id/gl_root_view').click()
76 
77 zoom(driver,step=0.5)
78 time.sleep(4)
79 driver.quit()

 

标签:driver,APP,0.5,actions,finger,测试,自动化,pointer,create
From: https://www.cnblogs.com/xjklmycw/p/17010868.html

相关文章

  • APP自动化测试总结三:基于坐标的点击、按键操作及处理toast弹窗
    一、基于坐标的点击1startx=7922endx=9003starty=494endy=1375center_x=(startx+starty)/26center_y=(endx+endy)/278#基......
  • uniapp iOS微信分享要求分享图必须小于20k限制的解决
    //分享给朋友 wxManShare(){ if(this.$platform=='android'){ letiurl=this.liveInfo.limg uni.share({ provider:"weixin", scene:"WXSce......
  • 网站的安全性测试
    安全性保护数据以防止不合法用户故意造成的破坏;完整性保护数据以防止合法用户无意中造成的破坏;安全性测试(securitytesting)是有关验证应用程序的安全服务和识别潜在注意:......
  • 10.编写自动化测试
    一、如何编写测试测试函数的函数体中一般包含3个部分:准备所需的数据或状态;调用需要测试的代码;断言运行结果与我们所期望的一致;1、测试函数的构成在最简单的情形下,R......
  • openresty熔断方案url_fuse测试
    1.概述服务熔断也称服务隔离或过载保护。在微服务应用中,服务存在一定的依赖关系,形成一定的依赖链,如果某个目标服务调用慢或者有大量超时,造成服务不可用,间接导致其他......
  • 如何基于FinClip实现Android系统在自有App中引入小游戏
    ​实现效果:在自有App中实现小程序游戏运行使用技术:FinClip(​​下载/升级最新版IDE​​即可使用)测试机:Android测试Demo:​​飞机大战​​在 Android 项目中引入FinClip......
  • js apply 与 call
    简介用来调用方法,第一个参数替换掉用方法的this对象区别:call:A.fn.call(B,arg1,arg2,argn...),后面的参数用逗号分隔apply:A.fn.apply(B,[arg1,arg2,argn...]),后面的参数......
  • ab压力测试
    概述ab命令全称为Apachebench是Apache自带的压力测试工具。ab命令非常实用,它不仅可以对Apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试,ab命......
  • 二、PO模型之注册界面组装成完整的自动化case-5
    base层:基础层。获取配置文件中的元素值。page层:页面层。页面就是元素。将读取页面信息放在page中,page给handle提供页面元素。handle层:定义方法,调用page层。即处理page。......
  • 信而泰X1多速率板卡写入SN号和ID——网络测试仪实操
    一、X1多速率板卡SN号和ID说明​速率的License文件需要根据板卡SN号和ID来制作。​3.1.6正式版本,DarYuL2-7高性能网络测试仪支持用户通过Renix查看板卡SN号号。但是有的板......