最近在研究Python+Robot Framework的接口自动化,摸清了一些套路,想着总结一下,分享给大家,希望对做自动化的同学有所启发。
主要用到了Python的requests,json,hashlib库,下面以登录和开启文档/目录的外链接口为例,介绍下实现步骤。
一、接口文档
1、登录接口getnew
请求参数:
account:用户登录账号,必填项,string类型
password:加密后的密文,密码加密方式,采用rsa加密的RSA_PKCS1_PADDING填充,并将加密的结果base64编码,必填项,string类型
ostype:操作系统类型,1:Web,2:IOS,3:Android,非必填项,int类型
返回参数:
userid:唯一标识用户的ID,string类型
tokenid:与userid一起验证请求的合法性,string类型
expires:获取到的token有效期,单位为秒,int64类型
2、开启外链接口open
请求参数:
docid:待开启外链的对象gns路径,必填项,string类型
open:如果true,返回密码,false,密码空,非必填项,boolean类型
endtime:到期时间,例如2023-10-16,15:30:33,非必填项,int64类型
perm:权限值,值域为[1,7],非必填项,int32类型
limittimes:外链使用次数,-1为无限制,非必填项,int32类型
返回参数:
link:外链唯一标识,如FC5E038D38A5,string类型
password:空表示没有,string类型
endtime:到期时间,如果为-1,表示无限期,in64类型
perm:按位存储的权限值(返回的是十进制),获取该值后,需要转化成二级制,检查对应的位码是否被设置,in32类型
limittimes:外链使用次数,-1为无限制,int32类型
result:0,请求已生效,返回为最新信息,1,请求正在审核,返回为创建前信息,int32类型
二、编写Python脚本
一)新建一个名为DocAPI.py的Python文件
1、新建一个类,命名与文件同名:
2、对于登录接口和开启外链接口,各写一个发送请求的函数
用到的主要是Python的requests库,发送请求,解析返回内容
二)将DocAPI.py导入Robot Framework的资源文件中
导入后,编写用户关键字
三)编写用例
调用登录接口,返回tokenid和userid,调用新建目录接口,返回docid,调用开启共享邀请接口,返回开启链接后的外链link、密码password、到期时间endtime、权限perm、外链使用次数limittimes。
最后断言这些返回的字段是否正确,会用到用户关键字should be equal、should contain等。
四)执行测试用例,查看结果
点击Start后,用例执行完成后,再点击Log查看日志
这样,一个完整的自动化测试用例就完成了。