我去热饭的博客

自动化测试工程师

APPIUMsend_keys输入太慢?用adb可以提升很大速度

appium输入过慢,采用adb方式def fast_input(str,element): '快速输入' x = subprocess.check_output('adb devices', shell=True).split('\n')[1][:-7] element....

2017-09-21 15:35:21

阅读数 2405

评论数 5

python读取excel表,获取空单元格,报错还是获取到空字符串?

经过测试发现, 当某行的列最多的时候,再获取其下一列就会报错 其他行不是列最多的时候,在获取其下一列就不会报错 原因:excel开辟内存空间是 按照矩形的区域,长是最长的列,高是最多的行。即使用户没有输入某些单元格,但是excel也会默认用空字符串进行填充。举个例子: 这是一个excel表...

2017-08-09 18:09:45

阅读数 7789

评论数 0

接口自动化测试,返回值深层完全断言大法

今日写了一个对http接口测试中的返回值,json格式 进行深层断言的方法。话不多说,直接上码,觉得好的可以留言支持我一下。在此感谢selenium_python群的第一个高手大师兄蜗牛哥 和 众多高手提供的初始版本。def compare_json_data(A, B, xpath='.'): ...

2017-07-27 14:33:29

阅读数 4911

评论数 7

app崩溃的原因 和 提前测试流程/方法 和出现崩溃后怎么定位和处理 总结(持续更新中)

首先,崩溃有几种情况: 闪退 提示停止运行 无响应 ( 不同情况虽然没有严格意义上区分开引起原因,但是都有侧重。在之后的工作中,我会实时补充统计。)1.接口返回值 [直接原因]:app无法解析接口返回值/获取不到要获取的参数/参数类型不对 导致客户端代码报错 [引起原因]:脏数据/网络问题导致接...

2017-07-06 18:38:39

阅读数 7777

评论数 8

破解某拼图验证码

很多网站都有拼图验证码 1。首先要了解拼图验证码的生成原理 2。制定破解计划,考虑其可能性和成功率。 3。编写脚本 拼图验证码实际上是多个小碎片经过重新组合成的一张整体,首先要在网站上抓取这种小碎片图片并下载到本地 先导入必要的包:# -*- coding:utf-8 -*- import co...

2016-12-01 13:41:05

阅读数 9914

评论数 7

selenium操作元素时的实用方法

1.判断元素的属性if i.get_attribute(‘type’) == ‘checkbox’ 2.获取当前窗口的坐标 driver.get_window_position 获取当前窗口的长宽 driver.get_window_size 获取元素坐标 driver.find_el...

2016-11-15 15:34:41

阅读数 2135

评论数 1

PYTHON的http请求,post,get,delete,put

这些都是我工作中常用的,整理出来,方便忘了的时候直接找到用。1.post: url = “” body = {“email”:email } pa = json.dumps(body) req = urllib2.Request(url, pa) ...

2016-11-15 14:24:06

阅读数 3421

评论数 0

appium小知识-持续更新

整理了一些常用的小命令 退出appium,每次脚本结束后,记得退出appium服务,不然下次启动会报错session不一样了。driver.quit() appium1.4版本以上可以在输入框输入中文,需要加入两行desired_caps["unicodeKeyboard"] ...

2016-11-15 11:44:05

阅读数 1742

评论数 1

python+appium的物理按键代码

代码就一句driver.keyevent()括号内填入的是物理按键的数字代号代号表: KEYCODE_CALL 拨号键 5 KEYCODE_ENDCALL 挂机键 6 KEYCODE_HOME 按键Home 3 KEYCODE_MENU 菜单键 82 KEYCO...

2016-11-15 11:30:18

阅读数 6967

评论数 0

appium获取屏幕分辨率

分辨率有助于用坐标定位,很多控件在不同分辨率的手机上的坐标往往不一样。所以脚本中对坐标定位的控件,应先获取手机的分辨率,然后在用一台标准正确的手机的分辨率与控件坐标的固定对比值和标准误差区域来 代入来算出不同分辨率下该控件的位置,进而进行定位和操作等。 driver.manage().wind...

2016-11-15 11:27:48

阅读数 5446

评论数 0

用python同时启动多个appium,并让多个手机同时执行脚本

首先你要连接好多个手机 设置好已经连接好的手机的ip列表ipp = ['192xxx','192xxx'] 杀掉之前所有appium进程subprocess.Popen('killall node',shell = True) 声明一个方法def start(ip):调用时需要把ipp传入 在方法...

2016-11-15 11:14:30

阅读数 13599

评论数 7

记一次 selenium 处理浏览器证书弹窗的经历

今天下午处理了一个ui自动化工程师提交给 我们测试技术委员会的 关于 selenium+pytthon 的疑难杂症。 经过一番思考后成功解决,且方法极为简单可靠,具体代码在最后。 先看下这个疑难问题: 访问一个内部平台登陆页面, 然后弹出证书弹窗: 必须点击确定按钮。否则无法继续加载登陆页面 手动...

2019-07-04 17:32:14

阅读数 208

评论数 7

❤leetcode,python2❤缺失数字

给定一个包含 0, 1, 2, …, n 中 n 个数的序列,找出 0 … n 中没有出现在序列中的那个数。 class Solution(object): def missingNumber(self, nums): """ ...

2019-06-27 16:00:53

阅读数 95

评论数 0

❤leetcode,python2❤有效的括号

给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 class Solution(object): def isValid(...

2019-06-27 16:00:18

阅读数 28

评论数 0

❤leetcode,python2❤帕斯卡三角形

给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 class Solution(object): def generate(self, numRows): """ ...

2019-06-27 15:59:40

阅读数 30

评论数 0

❤leetcode,python2❤颠倒二进制位

颠倒给定的 32 位无符号整数的二进制位。 class Solution: # @param n, an integer # @return an integer def reverseBits(self, n): ly = [] while...

2019-06-27 15:59:03

阅读数 19

评论数 0

❤leetcode,python2❤汉明距离

两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y,计算它们之间的汉明距离。 注意: 0 ≤ x, y < 231. class Solution(object): def hammingDistance(self, x, y): ...

2019-06-27 15:58:29

阅读数 16

评论数 0

❤leetcode,python2❤位1的个数

编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。 class Solution(object): def hammingWeight(self, n): """ :type...

2019-06-27 15:57:53

阅读数 24

评论数 0

❤leetcode,python2❤罗马数字转整数

罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 50...

2019-06-27 15:57:15

阅读数 11

评论数 0

❤leetcode,python2❤3的幂

给定一个整数,写一个函数来判断它是否是 3 的幂次方。 示例 1: 输入: 27 输出: true 示例 2: 输入: 0 输出: false 示例 3: 输入: 9 输出: true 示例 4: 输入: 45 输出: false 进阶: 你能不使用循环或者递归来完成本题吗? class Solu...

2019-06-27 15:56:30

阅读数 14

评论数 0

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