51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 704|回复: 0
打印 上一主题 下一主题

大牛带你RF框架实践(1)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-10-17 16:10:14 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 草帽路飞UU 于 2022-10-17 16:11 编辑

Robotframework是一款关键字自动化测试框架,可能做各种类型的自动化测试。本文介绍通过Robotframework 来实现接口测试。


  一、安装接口请求的第三方库


  pip install robotframework-requests

  在python安装目录的Lib\site-packages可以看到:



二、接口关键字基础


  robotframework-requests关键字文档地址:http://marketsquare.github.io/ro ... equestsLibrary.html

  以码同学全栈接口项目中的以下接口为例:




1. 创建测试集合并导入接口库



  创建一个测试集合apibasic,选中后在设置区导入RequestsLibrary库。




测试集合下添加集合全局变量host,作为接口测试的域名。




在该集合下将会针对码同学全栈接口项目中的接口进行测试,每个接口的域名都是一致的,因此我们给测试集合增加一个前置动作,前置动作里完成该域名下session的创建,那么在用例之中发起请求时都使


用该session,可以帮我们有效关联相关数据。

  关键信息解释,创建一个session对象,命名为pinter:


  ·Create Sesion:这是接口库提供的一个关键字,用来创建一个session对象


  · pinter:这是自定义起的一个session对象的名字,用于后续其他地方要使用时进行引用


  · ${host}:这是引用集合变量定义的host




2. get接口


  创建一个用例,起名叫get接口

  · Get On Session:发起get请求的关键字


  · ${resp.json()}[message]:表示提取接口响应body体重的message字段




3. post 表单接口


  创建一个用例,起名叫post表单接口。

  · Post On Session:发起post请求的关键字




4. post json接口


  由于json格式参数通常比较多,所以我们将他定义成了普通变量,但是接口关键字请求时json参数 必须是字典格式,所以使用Evaluate关键字将字符串形式的json参数转换成字典。



5. put 接口



6. delete 接口



7. 文件上传


表单形式上传:

  ·Get File For Streaming Upload:获取本地文件转换成流对象


  · ${resp.text}:因为该接口返回信息并不是json串,是个纯文本,所以使用这种方式获取




Ajax上传接口




8. 文件下载接口
















本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-25 08:25 , Processed in 0.069843 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表