android开发实战 Hadoop Filter JAVA学习 顺序查找 自动化部署 xpath vue前端框架 linux自动获取ip ab软启动器 a标签去除下划线 axure导出html文件 python调用方法 python环境安装教程 random函数用法 简单python脚本实例 java多态 java运行环境 java获取本地时间 linux安装 linux如何安装 图片放大软件 高通cpu排行 远程桌面管理软件 古风头像女动漫 司司网吧 图片转pdf免费软件 苹果手机不弹出信任 暗黑3挂机plusready 3dmax2014下载 ocr文字识别软件免费下载 幽灵推 德玛上单天赋 夜之魇掉落 黑域怎么用 三星打印机怎么加墨 proxies ppt虚线怎么画 汉仪黑荔枝体简 pr怎么加字幕特效
当前位置: 首页 > 学习教程  > 编程语言

appium自动化测试python--相关方法

2021/2/13 20:22:39 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

appium相关方法(1)#**scroll(起始元素,结束元素)** driver.scroll(origin_el,destination_el) (2)#**屏幕向右滑动** def swipRight(driver,t1000): lgetSize(driver) x1int(l[0]*0.05) y1int(l[1]*0.5) x2int(l[0]*0.…

appium相关方法

1)#**scroll(起始元素,结束元素)**
driver.scroll(origin_el,destination_el)2)#**屏幕向右滑动**
def swipRight(driver,t=1000):
l=getSize(driver)
x1=int(l[0]*0.05)
y1=int(l[1]*0.5)
x2=int(l[0]*0.75)
driver.swipe(x1,y1,x2,y1,t)3)#**获得屏幕大小宽和高
def getSize(driver):
x = driver.get_window_size()['width']
y = driver.get_window_size()['height']
return (x, y)4)#**MultiAction()//**多点触控
MultiAction().add()添加多个TouchAction操作,最后调用perform()执行
action0 = TouchAction().tap(el)
action1 = TouchAction().tap(el)
MultiAction().add(action0).add(action1).perform()5)#**driver.swipe(x1, y1, x2, y2,duration) **从坐标(x1,x2)滑动到坐标(x2,y2),duration非必填项,滑动时间**(滑动的坐标不能超过屏幕的宽高)
#**driver退出、卸载、安装
driver.quit()
driver.install_app(apk path):安装app
driver.remove_app(app package  name):卸载app
driver.is_app_installed(app package  name):判断app是否已安装,已安装返回true6)#**关闭和启动app
driver.close_app()
driver.launch_app()
如需跨app执行用例,则可使用start_activity(self, app_package, app_activity, **opts)方法
(7)#**将app放置后台n秒,n秒后,页面自动回到前台
driver.background_app( n  )
#获取当前页面 和 启动指定页面
driver.current_activity()
driver.start_activity(包名,activity名)
当前页面是登录页就登录,否则先打开登录页再登录
(8)#**等待某个页面出现
driver.wait_activity('.Activity',3,1):等待3秒,每1秒检查一次,页面出现则返回true9)#**截屏函数
import time
from appium import webdriver
def captureScreen(self,filename):#传递图片文件名
 (10) #获取系统时间并转换格式作为图片名,20190830161035
 date=time.strftime("%Y%m%d%H%M%S",time.localtime())11) #拼接存储路径,电脑路径+时间+图片名+.png
 storeFile='E:/图片/'+date+filename+'.png'
 self.driver.get_screenshot_as_file(storeFile)12)#******放大图片*****
 srcHeight=self.driver.get_window_size()['height']
 srcWidth=self.driver.get_window_size()['width']13)#设置MultiAction,可以多点触控
 multiAction=MultiAction(self.driver)
#设置两个“单点”动作
  t1=TouchAction(self.driver)
  t2=TouchAction(self.driver)
  #分成两点按住相片0.25s
  t1.long_press(imageView,srcWidth/2,srcHeight/2 - 100).wait(250).move_to(imageView,srcWidth/2,srcHeight/2-130).release()
  t2.long_press(imageView,srcWidth/2,srcHeight/2 + 100).wait(250).move_to(imageView,srcWidth/2,srcHeight/2+125).release(
 #Java方法,multiAction.add(t1).add(t2)
 multiAction.add(t1)
 multiAction.add(t2)
 multiAction.perform()14)#拖拽函数
self.driver.drag_and_drop(musicBox,musicList)//musicBox拖拽的控件,musicBox要拖拽到的另一控件15)#TouchAction对象包含(tab)、press(短按)、move_to(滑动到某个坐标)等方法
通过TouchAction对象,添加tap、move_to等操作,然后perform()执行,可以实现解锁屏幕等功能
规范中的可用事件有:
* 短按 (press)
* 释放 (release)
* 移动到 (moveTo)
* 点击 (tap)
* 等待 (wait)
* 长按 (longPress)
* 取消 (cancel)
* 执行 (perform)16)#设置网络类型setNetworkConnection(bitmask掩码)*
例如:设置网络类型为只开wifi
driver.set_network_connection(2)#1 (飞行模式)4 (只有数据连接)6 (开启所有网络) |
#**newCommandTimeout:**设置未接收到新命令的超时时间,默认60s
如果60s内没有接收到新命令,appium会自动断开连接,可延长接收新命令的超时时间
desired_caps["newCommandTimeout"]=180017)#test suite测试套件
TestSuite(测试套件):实际上就是测试集,测试用例的集合,将我们需要执行的测试用例添加到测试集中,然后再一键执行。
TextTestRunner :用来执行测试用例集,TestCase和TestSuite本身也有自己执行用例的方法,不过TextTestRunner在实际应用中优于它们,使用方法:
1) suite = unittest.TestSuite() #TestSuite是个类,首先将它实例化,创建一个对象,然后用对象调用它的 addTest 方法
suite.addTest(TestMath('test_add'))  # 添加测试用
suite.addTest(TestMath('test_sub'))  
suite.addTest(TestMath('test_multiply'))  
suite.addTest(TestMath('test_divide'))  # 添加测试用例
 run = unittest.TextTestRunner(verbosity=2)# 创建个TextTestRunner对象,用对象调用run()方法,注意对象传参 verbosity=2 可以控制测试报告的详细程度,verbosity 有 0 1 2 三个级别,verbosity=2 的输出最详细
    run.run(suite)  # 执行 suite 用例集
2)suite = unittest.TestLoader().loadTestsFromTestCase(ComplexAndroidTests)#
ComplexAndroidTests测试类
  unittest.TextTestRunner(verbosity=2).run(suite)18)#******键盘操作*****
driver.keyevent() #括号里填入的是手机物理按键的数字代号
driver.press_keycode()# 括号里填入的是键盘按键的数字代号
参考博客:https://www.cnblogs.com/xiaobaixiaobai/p/10760943.html


本文链接: http://www.dtmao.cc/news_show_700468.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?