自定义博客皮肤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 948

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

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

2018-09-11 10:49:41 3253

原创 UI自动化框架分层

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

2018-09-10 17:31:35 4959

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

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

2018-09-08 18:18:45 1325

原创 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 542

原创 python的for...else语句

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

2018-09-08 09:43:52 286

原创 列表的copy, deepcopy

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

2018-09-08 09:43:28 632

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

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

2018-09-08 09:43:12 254

原创 笔记整理-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 341

原创 python锁简单举例

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

2018-09-08 09:42:43 568

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

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

2018-09-08 09:42:26 2365

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

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

2018-09-07 11:55:22 332

原创 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 259

原创 python操作数据库

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

2018-09-07 11:40:59 188

原创 appium基础

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

2018-09-07 11:27:17 922

原创 xpath

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

2018-09-07 11:16:23 737 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 223

原创 WebDriver对象的一些方法

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

2018-09-07 10:20:43 2133

原创 元素操作

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

2018-09-07 10:00:25 322

原创 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 623

原创 笔记整理-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 315

空空如也

空空如也

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

TA关注的人

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