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

Robot Framework自动化测试框架初探的更多相关文章

  1. 三年磨一剑,robot framework 自动化测试框架核心指南,真正讲透robot framework自动化测试框架(笔者新书上架)。

    序 关于自动化测试的工具和框架其实有很多.自动化测试在测试IT行业中扮演着越来越重要的角色,不管是在传统的IT行业还是高速发展的互联网行业或是如今的大数据和大热的人工智能领域,都离不开测试,也更加离不 ...

  2. Robot Framework自动化测试框架核心指南-如何使用Java编写自定义的RobotFramework Lib

    如何使用Java编写自定义的RobotFramework Lib 本文包括2个章节 1. Robot Frdamwork中如何调用java Lib库 2.使用 java编写自定义的Lib 本文作者为: ...

  3. Robot Framework自动化测试框架核心指南-如何做好自动化测试平台框架的设计

    自动化测试如果需要能高效快速的支撑软件项目的测试,项目的快速迭代以及上线,除了以上我们介绍的需要许多的Lib来支持以及需要高效的去编写自动化测试案例外,还需要一个好的自动化测试框架平台来支撑我们的自动 ...

  4. 基于python3环境下搭建Robot Framework 自动化测试框架(一)

    大家都知道,Robot Framework 是基于python2 环境 的一套自动化测试工具,据说python 2 到2020年不维护,现在用python 3 的环境搭建Robot Framework ...

  5. 学习使用Robot Framework自动化测试框架-web元素定位

    转:http://blog.csdn.net/u012145166/article/details/50342569 1.name和id 其中使用到了name和id定位.但有时候由于开发人员的疏忽或者 ...

  6. Robot Framework自动化框架搭建的步骤

    我把自己之前搭建Robot Framework自动化测试框架的步骤整理了一下,感兴趣的同学可以参考一下.   Robot Framework自动化测试框架+ 可视化编辑工具RIDE+Selenium2 ...

  7. Robot Framework自动化测试环境准备(一)

    Robot framework是诺西(NSN)开源的一套自动化测试工具,在通信设备自动化测试中很实用,它基于Python开发,主要模拟NMS网管配置数据到网元NODE,并读取配置看配置是否生效. == ...

  8. Robot Framework自动化测试的应用

    Robot Framework自动化测试的应用(一) 最近尝试用Robot Framework代替之前全部采用python实现测试case,开始对Robot Framework进行些了解学习. 1. ...

  9. Robot Framework 自动化测试

    Robot Framework 自动化测试 RIDE 是 Robot Framework 测试数据的编辑器.它使测试用例的创建.运行.测试项目的组织可以在图形界面下完成. 通过 RIDE 去学习和使用 ...

随机推荐

  1. Spring-Struts2-基本集成

    步骤: 1,导入struts2的相关jar包(检查是否有冲突的包,即同一个包有不同的几个版本存在) 2,导入struts2和spring的整合包 struts2-spring-plugin-2.3.4 ...

  2. Python装饰器主要用法

    #!/usr/bin/env python3 # -*- coding: utf-8 -*- __author__ = '人生入戏' user = "admin" passwd = ...

  3. 使用Pano2VR 切割图片

    图片转换好之后得到一组立方体面片.

  4. Storm同步调用之DRPC模型探讨

    摘要:Storm的编程模型是一个有向无环图,决定了storm的spout接收到外部系统的请求后,spout并不能得到bolt的处理结果并将结果返回给外部请求.所以也就决定了storm无法提供对外部系统 ...

  5. TCP/IP(三)数据链路层~2

    一.局域网 1.1.局域网和以太网的区别和联系 局域网:前面已经介绍了,其实就是学校里面.各个大的公司里,自己组件的一个小型网络,这种就属于局域网. 以太网:以太网(Ethernet)指的是由Xero ...

  6. JS -- The Scope Chain 作用域链

    The Scope Chain JavaScript is a lexically scoped language: the scope of a variable can be thought of ...

  7. 打印ASCII码

    总时间限制:1000ms内存限制:65536kB 描述 输入一个除空格以外的可见字符(保证在函数scanf中可使用格式说明符%c读入),输出其ASCII码. 输入 一个除空格以外的可见字符. 输出 一 ...

  8. Knapsack I 竟然是贪心,证明啊。。。。

    Knapsack I Time Limit: 2000/1000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others) SubmitSt ...

  9. 嵌入式linux开发之工具------tftp

    我在嵌入式linux开发中用到tftp的地方主要有2个方面: 1.是在嵌入式目标板启动时,bootloader启动时通过uEnv文件,下载dtb文件和kernel文件: 2.是在嵌入式目标板启动后,通 ...

  10. 一个强迫症的Git 选择

    选择 1,经常性的commit or 干净的历史 在本地(私有)的开发分支中,选择经常性的commit,以便于实时记录修改,回退等操作.eg.develop,feature... 实现方式: comm ...