自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 appium--连续滑动/九宫格

连续滑动要用到TouchAction.TouchAction中可以包含按压(press),长按(longPress),点击(tap),移动(move_to),等待(wait),释放(release),执行(perform)等 操作。设置或解锁九宫格我们操作的步骤1.先按压一个起始点press(x,y)2.这个点移动到另外一个点 move_to(x,y)3. 暂停一会 wait(...

2018-07-18 10:18:05 816 1

原创 怎么在python+robot framework中,尽量多使用python来写代码

      robot framework提供了非常好用的初始化清除与用例执行机制,但是它的语法,真的一言难尽。对于习惯python的我, 总是想办法这里能不能不用robot framework,而是用python呢。        首先,用户关键字都用python实现。 同一个方法,类比一下robot framework实现的关键字是不是感觉顺眼很多用python...

2018-09-11 10:49:41 3136

原创 UI自动化框架分层

项目以前的UI自动化大概是这样分层的1.Common功能层:一些经常被调用的基本常用操作,用来完成某项具体的功能,与具体的业务无关。比如常用的封装: --将元素定位方法重新封装--封装上下左右滑动 eg: swipe(direct='down',count=1)--pinch-截图-元素等待有效的封装,能减少代码量,提供用例写作效率,减少维护成本。 2.应用功能层:...

2018-09-10 17:31:35 4719

原创 自动化用例执行效率,想到哪写到哪

说说以前的一个app自动化项目的情况吧,按照功能点来组织用例目录,查找用例很方便。最大的缺点:执行起来超级慢,差不多3000条用例,18个仿真机,执行起来5小时。领导要求必须要把这个时间降下来。分析原因:1. 用例基数大2. 用例目录的初始化设计基本没设置。3..用例的设计不合理第一个原因没有办法改的。 针对第二个原因进行了非常大的改动。 把很多初始化条件相同,用例之间也...

2018-09-08 18:18:45 1220

原创 python的文件模块基础知识

三种路径写法:fileDir1 = 'g:/pyTest.txt'fileDir2 = r'g:/pyTest.txt'fileDir3 = 'g:\\pyTest.txt' file_object = open(file_name, access_mode='r')access_mode: r(默认),w(写),wr读+写 w+读写 注意事项1. 路径要正确...

2018-09-08 09:44:15 440

原创 python的for...else语句

Python中的for、while循环都有一个可选的else分支(类似if语句和try语句那样),在循环迭代正常完成之后执行。换句话说,如果我们不是除正常以外的其他方式退出循环,那么else分支将被执行。也就是在循环体内break语句、return语句没有被执行,或者没有异常出现。 1. for执行完后, 执行elsefor i in range(3): print(...

2018-09-08 09:43:52 222

原创 列表的copy, deepcopy

#将一个列表的数据复制到另一个列表中。import copylsta = [1,[2,3],4]lstb = lsta[:] 或者lstb = lsta 或者lstb=lsta.copy()print(lstb)lsta[1][0] = 5print(lsta)print(lstb)运行结果都是:[1, [2, 3], 4][1, [5, 3], 4][1, [5, 3...

2018-09-08 09:43:28 567

原创 笔记整理--调用外部程序

1. 阻塞性调用,不需要执行命令得到的返回结果,可以用 os.system2. 阻塞性调用,需要执行命令得到的返回结果,可以用subprocess库里面的check_output3.非阻塞性调用,需要执行命令得到的返回结果,可以用subprocess库里的Popen类 os库里的system函数,等于打开操作系统的shell,敲入一串命令。这是一种阻塞性调用。eg:impor...

2018-09-08 09:43:12 167

原创 笔记整理-Python远程控制Linux

 Paramiko模块Pexpect模块安装:pip install paramiko --default-timeout=60或者国内源: pip install paramiko -i https://pypi.douban.com/simple/ --trusted-host pypi.douban.com Linux主机设置,要保证ssh服务开启。 exec...

2018-09-08 09:42:58 244

原创 python锁简单举例

代码通过系统调用,请求OS分配一个新的线程python里面:thread与threading都可以用来创建管理线程,thread比较底层,threading是thread模块的扩展,提供了很多线程同步功能,使用起来更加方便强大。这个target 可以是函数或是类的方法子线程执行完入口函数后, 就停止了。 (生命周期就在这个入口函数里。)#在执行到t1.start()时会启动一...

2018-09-08 09:42:43 490

原创 robot framework初始化时有返回值

在初始化时需要返回值怎么处理方法一:set suite variable/set global variable 假设执行add school class会返回一个id,这个id在后面的脚本中还要使用。因为初始化时只能有一个关键字,所以没有地方放返回值,所以可以用下面的方法设置一个关键字suite setup action, 设置全局或是套件内变量suitesetclassid...

2018-09-08 09:42:26 2239

原创 笔记整理--python字符串

字符串-非常高效, C语言实现, 高度优化 字符串定义单引号双引号三引号--可以跨多行 单行注释: #号, 或者 选中后 Ctrl+/ 字符串拼接:+ : eg. ‘name’ + 'is' --拼接后生成新的对象重复n次 *n eg. 'hello'*3 字符串的特性被称为Sequence(序列)一个序列,若干个元素组成Sequence...

2018-09-07 11:55:22 253

原创 python字典知识

字典的长度:dict1 = {'Mike':'19','Lily':'20'}print(len(dict1)) #2 字典里没有同名key, 就算有, 后面相同的键对应的值会覆盖前面的dict1 = {'Mike':'19','Lily':'20','Lily':'20'}print(len(dict1)) #2 list, string,tuple特性称之为 s...

2018-09-07 11:45:08 185

原创 python操作数据库

编程语言访问数据库原理:App程序 - >driver ->Server process -> DBServer process:driver->Server Process通常通过tcpimport MySQLdb#创建一个和数据库的连接connectoin = MySQL.db.connect(host = '192.168.0.2',use...

2018-09-07 11:40:59 131

原创 appium基础

appium自动化1.选择界面元素2.操作元素(点击,输入字符,拖曳,获取页面元素的各种属性)3.根据获取到的数据进行分析处理 获取apk的启动activity执行命令:   路径/aapt dump badging xxx.apk在里面搜索: launchable-activity 如果sendkeys中要输入中文,descrip capbility中要加入这...

2018-09-07 11:27:17 813

原创 xpath

主流浏览器都支持xpath语法在F12 Console里用$x(‘’)里输入定位信息 根节点用/表示,对应整个html //option选择整个文档中的所有的option节点,不管什么位置//表示从当前节点寻找所有的后代元素,不管它在什么位置//div//p 表示选择所有的div元素里的p元素,不管div在什么位置, 不管p元素在div下面的什么位置 类似css选择...

2018-09-07 11:16:23 621 1

原创 css选择器

CSS选择器是浏览器用来选择元素的,执行效率高根据tag 标签名 eg: p  选择标签中为p根据id #id eg: #food根据class .类名 eg: .cheese 根据tag和class的组合: span.vegetable  选择tag为span且class为vegetable的元素 tips:<span class="vegetable food"&...

2018-09-07 10:50:30 163

原创 WebDriver对象的一些方法

WebDriver对象的一些方法1. driver.title #获取当前页面左上角的title2. driver.current_url #获取当前页面的url3. driver.get_screenshot_as_file('路径+文件名') --关键信息人工复检, 特别是测试不通过时, 或者定位问题有时也需要现在只能截取整个页面的,不能只截取某个元素的。4.driver....

2018-09-07 10:20:43 2023

原创 元素操作

 编辑框的操作:形如:〈input id=......clear() --清除编辑框里的文字.send_keys('xxx') -输入内容.get_attribute('value') --获取编辑框里的内容.get_attribute('type')获取文本框的类型.text 单选框的操作:形如:<input id="xx" type="radio"...

2018-09-07 10:00:25 252

原创 Selenium基本知识

Selenium是自动化浏览器的工具包, 从应用的源头(浏览器)驱动应用,使用广泛(主流浏览器厂商的支持),可控制成本,提高效率 Selenium工具包有什么?1.RC--Selenium 1, 没用过。 2.webdriver --Test Script using webdriver client libraries supported in java, ruby, pytho...

2018-09-07 09:57:26 536

原创 笔记整理-python开发接口测试requests

python开发接口测试作用python语言实现web api接口测试, 常用下面的库内置库: httplib, urllib2第三方库: requests python requests库特点: 1. 简便易用, 功能强大,姐姐我喜欢用这个。 请求参数:requests.get(url, params=xx, headers=xx)params =这个参数...

2018-09-07 09:42:56 246

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除