Commit 92a5c5f4 authored by 谢昇's avatar 谢昇

Update Robot Framework框架分享.md

parent 3d876549
# Robot Framework框架分享
# **Robot Framework框架分享**
# Robot Framework框架分享
# **Robot Framework框架分享**
## 功能测试可以覆盖所有接口,那为什么还要接口测试?
* 接口对应的功能可能有很多,所以接口测试可以提前预防问题
* 接口测试可能测出功能检查不到的问题
* 功能测试注重业务逻辑、ui;接口测试注重数据输入和返回
* 接口测试可以接入自动化持续集成
[接口测试资料分享](https://www.cnblogs.com/imyalost/p/5832672.html)
## 一、Robot Framework框架安装(方法仅适用于python2.7)
Robot Framework:是一款python编写的功能自动化测试框架。具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行
## 框架安装流程:
* 获取Python 2.7 同时安装python的时候选上pip工具安装
* pip install robotframework
* pip install robotframework-ride
* 注意:robotframework-ride是基于wxPython的,必须先安装wxPython。此处先装robotframework-ride是因为robotframework-ride对于版本的要求很高,必须一一对应,你去下载最新版的wxPython,再来装最新版的robotframework-ride,然后运行会发现失败
* wxPython下载路径:
* https://sourceforge.net/projects/wxpython/files/wxPython/2.8.12.1/
* 安装requestslibrary库(接口测试用到)
* pip install robotframework-requests
## 二、常用关键字介绍
### 1. 内建关键字
* set variable定义变量关键字
用法:${*} set variable aa/${*}
* create dictionary定义字典关键字
用法:${*} create dictionary aa=bb/aa=${bb}/aa bb
* log日志打印关键字,增强日志,方便调试用例
用法:log ${*}/--用例开始--
* set variable if如果条件真则变量值为*
用法:${*}= set variable if aa==0/aa>0/aa<0
### 2. RequestsLibrary库关键字
* Create session创建会话关键字
用法:Create session alias=${name} uri ${header}
* post/get/delete/put request 发送会话
用法:${res} post/get/delete/put request ${name} ${path} ${data}
* ${res}是对象,对象属性中有${res.status_code}和${res.content}两个属性,可以利用to json方法进行格式转换后对数据进行处理
http://www.robotframework.net/?/article/91
* to json 目标对象转换为json格式
用法:${*} to json ${aa}
## 三、Jmeter和Robot Framework接口测试框架对比
Jmeter界面化比较友好,但是可以使用场景比较单一,对于多请求场景的接口用例不是很友好,以及数据校验这块需要单独添加,如果接口用例比较多,对于数据查看以及数据校验会很繁琐;Robot Framework需要一定的python基础,安装流程比较复杂,且ride编辑界面只支持到python2.7,优点是可以设置公共变量,公共关键字,可以查看关键字使用方法,场景可以多样化,对于结果取回和结果校验比较简单,日志功能强大。
Jmeter以线程组为单位,且Jmeter工具自身添加限制每个层级可以添加的插件
![图片10](https://gitlab.33.cn/flyaway53/test/raw/master/img-folder/%E5%88%98%E8%B4%B5/%E5%9B%BE%E7%89%8710.png)
![图片11](https://gitlab.33.cn/flyaway53/test/raw/master/img-folder/%E5%88%98%E8%B4%B5/%E5%9B%BE%E7%89%8711.png)
![图片12](https://gitlab.33.cn/flyaway53/test/raw/master/img-folder/%E5%88%98%E8%B4%B5/%E5%9B%BE%E7%89%8712.png)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment