Robot Framework是一款python语言编写,通用的功能自动化测试框架。它使用了比较易用的表格数据语法,基于关键字驱动测试,主要用来验收测试和验收测试驱动开发(ATDD)。

本文主要介绍Robot Framework在python2.7环境下的安装及一个http接口自动化测试demo。

1.Robot Framework安装

1.1 Robot Framework

使用pip命令安装:

pip install robotframework

1.2 wxPython

wxPython是python下非常优秀的GUI图形库,这里安装是由于RIDE需要用到。

特别强调下,RIDE GUI目前必须要用wxPython 2.8.12.1版本。

原文如下:

"RIDE's GUI is implemented using wxPython toolkit. Only wxPython 2.8.12.1 with Unicode support is officially supported. Possible new releases in wxPython 2.8 series ought to work fine too. wxPython 3.0 support is one of the priorities for future development."

下载地址:http://sourceforge.net/projects/wxpython/files/wxPython/2.8.12.1/

百度网盘地址:http://pan.baidu.com/s/1dFc8M1z

1.3 Robot framework-ride

RIDE是一个图形界面的用于创建、组织、运行测试的软件。

使用pip命令安装:

pip install robotframework-ride

1.4 robotframework-httplibrary

看名字就知道,这是Robot Framework的内部HTTP测试库。

使用pip命令安装:

pip install robotframework-httplibrary

2. http接口自动化测试demo

2.1 运行RIDE

windows环境下打开命令提示符cmd,输入ride.py进入RIDE界面,如下

2.2 新建测试项目

FILE->NEW Project新建测试项目,可以填写项目名称、选择路径

2.3 导入http库

我们需要导入httplibrary库,选择Library,填写http库名称HttpLibrary.HTTP

2.4 新建测试用例

选择测试项目demo,右键New Test Case,填写测试用例名称

2.5 编写测试用例

每个库提供的API都不一样,我们可以在RIDE中按F5快捷键打开Search Keywords进行查找,这样可以获取API关键词的名称,参数及文档介绍。

也可相关库的官方网站查看相关API及demo,如httplibrary库:

http://peritus.github.io/robotframework-httplibrary/HttpLibrary.html

参考官方提供的demo,我们编写一个简单的HTTP Get请求页面返回302后的跳转测试用例:

https://github.com/peritus/robotframework-httplibrary/#usage

测试流程解析如下:

新建http请求后发送Get /302请求,判断返回结果;然后进行页面跳转并验证页面是否包含"generating different HTTP codes"字符。

2.6 执行测试用例

在RIDE页面,按F8快捷键执行测试,可以看到执行结果为pass,同时生成了三个结果文件

2.7 查看测试结果

在RIDE页面,按CTRL+R快捷键查看测试报告Report,CTRl+L查看测试日志Log

至此我们使用Robot Framework框架,跑完了一个http接口的自动化测试demo,很简单浅显,后续根据实际使用情况再继续更新。

3. 参考:

http://robotframework.org

最新文章

  1. Spark的持久化简记
  2. javaweb--HTTP状态码
  3. centos性能监控系列二:Collectl初解
  4. 一个Azure VM RDP连接问题
  5. MEF(Managed Extensibility Framework)依赖注入学习
  6. 《Linux内核设计与实现》读书笔记
  7. arm-linux-gcc编译器测试
  8. 《SAS编程和数据挖掘商业案例》第14部分学习笔记
  9. shell:crontab
  10. mysql ++中文乱码问题
  11. 十款 Chrome 扩展工具,提高前端编码效率
  12. python,ModuleNotFoundError,is not a package
  13. Clustering[Evaluation]
  14. tmux用法【常用】
  15. git push 和 pull 时 免密执行的方法
  16. jmeter之正则表达式
  17. 重读《深入理解Java虚拟机》五、虚拟机如何执行字节码?程序方法如何被执行?虚拟机执行引擎的工作机制
  18. hbase非结构化数据库与结构化数据库比较
  19. bzoj4693: 雪中送温暖
  20. Maven国内镜像-阿里云

热门文章

  1. Java Map对象的遍历
  2. Java开发中遇到的问题
  3. iOS开发中KVC、KVO简介
  4. Liers 树状数组+中国剩余定理
  5. PHP常用字符串处理函数
  6. “一切都是消息”--MSF(消息服务框架)之【请求-响应】模式
  7. java 学习笔记——类之间的关系之封装、继承与多态的详解
  8. 简单Elixir游戏服设计- 创建项目
  9. 【转】DSCP 与IP 优先级IP优先级
  10. Hadoop通过HCatalog编写Mapreduce任务访问hive库中schema数据