环境搭建
1、安装Python
官网下载Python安装包 ,网址: https://www.python.org/getit/
下载完成后,双击,下一步…一步步安装
最好勾选加入环境变量,没有勾选就要手动将ptyhon.exe文件所在路径添加到环境变 量,在cmd里输入 Python -V,能看到Python版本号等信息即可。
如果你不在测试执行机上编写代码可不必装pycharm等开发工具
2、安装requests库
机器没有连到外网直接cmd输入:pip install requests;
机器没有连到外网
先下载requests安装包离线安装,第三方库网址: https://pypi.org/
将下载的包解压后放到python安装目录下,位 置:python>lib>site-packages下, 然后在cmd运行命令 py thon setup.pyinstall 就好 了
离线安装requests库需要其他几个依赖的库
分别下载安装certifi、urllib3、idna、chardet
安装完成检查有没有安装成功
cmd输入 python Import requests
没有报错即可
3、pycharm编写Python测试代码
简单说明一下requests库的用法
发送get请求:
一般情况:
请求地址如:url=http://www.baidu.com
result=requests.get(url),
需要传递参数直接在url后面拼接如:url=http://www.baidu.com?kw=python&su=123
特殊情况需要加请求头信息,如headers={“User-Agent”: “Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36”}
result=requests.get(url,headers=headers)
发送Post请求:
url=’http://www.baidu.com’
headers={‘Content-Type’:‘application/json;charset=UTF-8’}
data={“reqMsgId”:“20200426190757”,“state”:“00”,“code”:“0000”,“msg”:“交易成功”}
如果要求传参为json格式需要将dict类型转换成json格式
data=json.dunps(data)
result=requests.post(url,data=data,headers)
获取参数并返回代码实例test.py:
import requests,time,sys
def get_args(name,word):
result=name+’:’+word
print(result)
return result
if __name__=="__main__":
name=sys.argv[1]
word= sys.argv[2]
get_args(name,word)
特别说明
argv函数作用:用来获取命令行参数,sys.argv[0]表示代码本身文件路径,所 以 参数从1开始;
函数返回值:因为luckyframe平台使用命令行来执行Python脚本,获取返回值只 能通过获取print的值来获取返回结果;
将写好的test.py文件上传到测试执行机的指定路径(无特殊要求)即可;
Luckyframe上编写测试用例
登录luckyframe平台;
新建测试用例;
用例步骤编写;
添加测试用例,用例类型选择API驱动;
编写用例步骤,具体参数如下:
点击保存,保存用例;
用例调试:保存完用例之后,点击调试,即可运行该条用例,在页面可以看到用例解析执行过程,也可以登录测试执行机。查看日志了解用例解析执行情况;
4、小结
遇到的问题:
传递参数时,不要传字典格式的{“state”:”00”,”code”:”0000”},在命令行获取参数的时候,key和value两边的引号会丢失,变成{state:00,code:0000},后续对这种格式的数据做处理会报错,目前从返回的json格式的字符串中获取某一个字段的值还没有想到合适的方法,需要再研究一下;(我用的Python版本是3.8,不知道是不是Python版本的问题);
如需要引入自己已经写好的其他的.py文件,如一些公共方法等,可以将需要引入的文件和你的文件放在同一目录下,直接import即可;(亲测可用)
python也可以通过telnet的方法调用dubbo接口,本地可以调用成功,在luckyframe上由于环境不通,调不通连接超时,理论上是可行的;
总之,python可以实现很多的自动化测试,简单方便,容易上手,非常适合用来做自动化测试,和luckyframe可以完美的适配,高效执行自动化测试任务。
最后:测试人福利
技术行业,一定要提升技术功底,丰富自动化项目实战经验,这对于你未来几年职业规划,以及测试技术掌握的深度非常有帮助。
关注我微信公众号:【伤心的辣条】 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!
金九银十面试季,跳槽季。给大家整理的资料,整体是围绕着【软件测试】来进行整理的,主体内容包含:python自动化测试专属视频、Python自动化详细资料、全套面试题等知识内容。愿你我相遇,皆有所获! 关注我领取~
如果文章对你有帮助,麻烦伸出发财小手点个赞,感谢您的支持,你的点赞是我持续更新的动力。