LuckyFrame之Python接口自动化测试

136 篇文章 2 订阅
44 篇文章 1 订阅


环境搭建

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自动化详细资料、全套面试题等知识内容。愿你我相遇,皆有所获! 关注我领取~

如果文章对你有帮助,麻烦伸出发财小手点个赞,感谢您的支持,你的点赞是我持续更新的动力。

推荐阅读:

什么样的人适合从事软件测试工作?

谈谈从小公司进入大厂,我都做对了哪些事?

想转行做软件测试?快来看看你适不适合

软件测试从自学到工作,软件测试学习到底要怎样进行?

软件测试工程师简历项目经验怎么写?–1000个已成功入职的软件测试工程师简历范文模板(真实简历)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值