python⾃动化脚本常⽤⽅法⼩结
API测试
1.框架常⽤模块
#unittest单元测试框架不仅可以适⽤于单元测试,还可以适⽤WEB⾃动化测试⽤例的开发与执⾏
#paramunittest是unittest实现参数化的⼀个专门的模块,可以传⼊多组参数,⾃动⽣成多个⽤例
#codecs专门⽤作编码转换
#configparser.ConfigParser 读取配置⽂件
#xlrd 读取excel信息
#threading 创建线程模块
#ElementTree 处理 XML ⽂档
#requests是python实现的简单易⽤的HTTP库
2.装饰器
@property 可以对应于某个⽅法, 希望能够像调⽤属性⼀样来调⽤⽅法
如果⼀个⽅法前⾯加了了装饰器,调⽤可以直接得到return的结果,并直接调⽤获得结果后的属性
@staticmethod 声明是⼀个静态⽅法
3.接⼝常⽤参数
content-type:请求响应的类型
form表单:application/x-www-form-urlencoded ;
json: application/json:
Token: ①:防⽌表单重复提交 ②:⽤来作⾝份验证
(1)客户端使⽤⽤户名跟密码请求登录;服务端收到请求,去验证⽤户名与密码
验证成功后,服务端会签发⼀个 Token,再把这个 Token 发送给客户端
(2)客户端收到Token后可以把它存储在 Cookie ⾥或者 Local Storage ⾥
(3)客户端之后向服务端请求资源的时候会带着服务端签发的 Token,服务端收到请求,然后去验证客户端请求⾥⾯带着的 Token,如果验证成功,就向客户端返回请求的数据,从⽽实现免密登录
User-Agent(UA ⽤户代理):当前操作系统和浏览器内核版本
怎么开网店4.Requests
请求:response = requests.post(url,headers,data, file,timeout)
解析json数据: response.json()
解析xml数据: from lxml import etree
page = etree.HTML(response .text)
对解析后的xml定位: page.xpath(xpath_str)
获取状态码: response.status_code
会话维持: ses= requests.Session()
res= (url,headers,data, file,timeout)
常⽤python知识点
1.类的常⽤调⽤
(1)在testloginxls中调⽤config类
初始化类对象 readconfig = fig()
2.常⽤路径调⽤⽅法
#alpath(__file__)获取当前执⾏脚本的绝对路径
#os.path.split 按照路径将⽂件名和路径分割开(分割左边为⽬录路径,右边为⽂件名或空) #os.path.join连接两个或多个路径,,如果连接路径不含/,则函数会⾃动加上
#os.path.dirname(path)接路径,返回⽬录所在⽬录
#os.path.abspath() 接路径,获取绝对路径⽬录
#os.getcwd() 获取当前绝对路径⽬录
os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
3.打开⽂件⽅法
python请求并解析json数据r 只读
r+ 读写(存在⽂件)
w 写⼊(存在⽂件时更新⽂件,原数据会不见;⽂件不存在,新建⽂件)
a 打开⽂件进⾏追加
wb+ ⼆进制读写
foo=open(R'D:\',mode='r+',encoding='utf-8',buffering=1)
读:read() readline() readlines()
1. 先open,再read 即 ad()transient与什么有关
2. ConfigParser()打开 ,configparser.ConfigParser().read(ini⽂件)
写: foo.write()
关闭⽂件: foo.close()
重命名: os.rename(原⽂件名,现⽂件名)正割函数的原函数
删除⽂件: os.remove(⽂件名)
最常⽤的打开⽅法with: with open('') as fp
读取config⽂件
self.cf=configparser.ConfigParser()
ad()
("HTTP",scheme)
在congfig中写
self.cf.set("HTTP", name, value) http下回加上⼀⾏ name=value
4.Xlrd(表格)常⽤⽅法
workbook= xlrd.open_workbook(filename)# 打开xlsx表格⽂件Sheet=workbook.sheet_by_name(sheet_name)#通过名称获取xlsx nrows = ws #获取该sheet中的有效⾏数
ls #获取该sheet中的有效列数
row_w_values #获取所有某⼀⾏数据组成的列表col_l_values #获取所有某⼀⾏数据组成的列表
5.Datetime和time
(1)w() 返回当前本地时间,
access追加查询前五条记录strftime() 将格式字符串转化为⾃定义格式
(2)localtime() 格式化时间戳,如未添加任何时间,显⽰当前时间
strftime() 将格式字符串转化为⾃定义格式
time.strftime('%Y.%m.%d %H:%M:%S',time.localtime())
6.⽂件不存在创建
if not ists(resultPath):
os.mkdir(resultPath)
7.获取xml⽅法
ElementTree as ET
解析后的xml⽂件内容
1. tree=ET.ElementTree(file=filepath)
2. tree=ET.parse(filepath)
获取某⼀tag的迭代器
(1)findall(match) #返回所有匹配的⼦元素列表,可以匹配tag或路径
(2)iter(tag=None) #以当前元素为根节点,创建树迭代器如果tag不为None,则以tag进⾏过滤获取某⼀tag属性
例:for u in tree.findall('url') 获取标签数据
attrib 为包含元素属性的字典 v=u.attrib['name']
items() 返回(name,value)列表
get(key, default=None) 获取属性 ('name')
获取tag下所有⼦标签
getchildren ⽅法按照⽂档顺序返回所有⼦标签
例: url_list=[]
for c hildren() 获取⼦标签数据
url_list.) ⽤c.text获取⼦标签内容,并存储于列表
8.常⽤正则表达式
() 分组,⽤列表返回值 , []中的⼀个或者多个字符被称为字符类,存放多个匹配值
{} ⼤括号代表重复数量,[a-z]{1,2}代表⼀到⼆个字母,这两个字母都在a到z的范围内
| 匹配两项之间的字符(and),⽤于查多个不同值
\d 匹配⼀个Unicode数字 ,\D 匹配Unicode⾮数字
\s 匹配Unicode空⽩, \S 匹配Unicode⾮空⽩
国内三大慕课平台\w 匹配Unicode单词字符, \W 匹配Unicode⾮单词字符
匹配前⾯的字符0次或1次,
+ 匹配前⾯的字符1次以上, * 匹配前⾯的字符任意次(包含0)
{m,n} 匹配前⾯的正则表达式⾄少m次,最多n次
#以第⼀个字符为;,空格,结尾为任意个空格的内容为分割条件
re.split(r'[;,\s]\s*', str) #切割
re.sub(正则,替换字符,字符串) #替换匹配项
re.findall(正则,字符串) #遍历匹配,会返回列表
fnmatch.fnmatch(str,’’正则) #检查字符串是否存在
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论