RobotFramework——介绍篇
1、简介
Robot Framework是一款python编写的功能自动化测试框架。具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行。主要用于轮次很多的验收测试和验收测试驱动开发(ATDD)。
Robot Framework是开源软件,由Nokia Siemens Networks开发并提供支持。
2、特性
1.测试用例使用文本文件(TXT或者TSV文件)保存,使用制表符分隔数据。可以方便的使用任何文本编辑器,或者EXCEL编辑测试用例。也可以使用HTML格式创建用例。
2.测试用例中支持变量使用,可以使用IF语句和FOR循环语句。
3.可以利用“标签”功能对测试用例进行分类和有选择执行。
4.支持关键字驱动、数据驱动和行为驱动。
5.利用已有的关键字,测试人员可以创建自己需要的关键字,形成更高级别的行为。
6.测试执行报告和日志是HTML格式,容易阅读。
7.Robot Framework并不是一款像QTP一样的自动化测试工具。它是一个自动化测试框架,或者说是一个自动化测试平台。
8.提供了测试执行事件的监听接口,并且可以自定义接口中的脚本。例如,某个用例执行前,“start_test”接口中的脚本就会被执行;用例执行结束后,“end_test”接口中的脚本就会被执行。而测试人员可以自定义“start_test”、“end_test”这两个接口的脚本。
9.提供了命令行接口和XML格式的输出。可以与版本管理工具结合,进行持续集成。
10.Robot Framework是通过测试库识别被对象、操纵被测对象,有很多自带的或者第三方的开源测试库。例如,使用“selenium2Library”库测试web客户端。此外还可以测试java客户端、Win32客户端、SSH协议的字符终端等。
11.测试人员可以使用Python和java创建自己需要的测试库。
12.提供了远程测试执行接口,可以进行分布式测试执行。
3、RIDE
RIDE是一款专门用来编辑Robot Framework用例的软件,用Python编写并且开源。RIDE可以从Robot Framework官网找到最新的下载链接。
== RobotFramework的一些特性==
•易于使用,采用表格式语法,统一测试用例格式;
•重用性好,可以利用现有关键字来组合新关键字;
•支持变量;
•支持创建基于数据驱动的测试用例。
•结果报告和日志采用HTML格式,易于阅读;
•提供标签以分类和选择将被执行的测试用例;
•平台、应用无关;
•功能全面,支持WEB测试(Selenium)、Java GUI 测试,启动线程、终端、SSH等;
•易于扩展,提供了简单API,用户可以自定义的基于Python或者Java的测试库;
•易于集成,提供了命令行接口和基于XML的输出文件;
•易于与版本管理集成;
==RobotFramework的架构方案==
==RobotFramework的中文支持==
由于初始并不支持中文,于是在生成测试报告的时候对于中文的关键字无法识别,使用下面的方法可以正常显示中文。
•在[PythonDir]Libsite-packagesrobotutils下的encoding.py文件中,找到def _get_output_encoding(): 原来的编码是’cp437’ 将其改成’ cp936’(简体中文,gbk) 。
==目前robotFramework支持的测试库==
下面这些是可以在robotFramework上支持的测试库,但是要独立安装程序。在安装之后,使用的时候要单独加载测试库。
SeleniumLibrary - A web testing library that uses popularSelenium tool internally.
watir-robot - A web testing library that uses popularWatir tool via theremote library interface.
WatinLibrary - A web testing library that usesWatin tool (a .NET port of Watir) via theremote library interface.
SwingLibrary - A Swing GUI testing library.
EclipseLibrary - A library for testing Eclipse RCP applications using SWT widgets.
AutoItLibrary - Windows GUI testing library that usesAutoIt freeware tool as a driver.
DatabaseLibrary (Java) - A test library that provides common functionality for testing database contents. Implemented using Java so works only with Jython.
DatabaseLibrary (Python) - Another library for database testing. Implemented with Python and works also on Jython.
SSHLibrary - A test library that enables SSH and SFTP.
How-To: Sikuli and Robot Framework Integration - This is not really a library but these instructions explain how to integrateSikuli tool with Robot Framework
==有关RobotFramework的知识库网站==
http://code.google.com/p/robotframework/
http://code.google.com/p/robotframework/wiki/UserGuide
http://code.google.com/p/robotframework-seleniumlibrary/
http://robotframework-seleniumlibrary.googlecode.com/hg/doc/SeleniumLibrary.html?r=2.8
http://code.google.com/p/robotframework/wiki/BuiltInLibrary
RobotFramework——介绍篇的更多相关文章
- 最牛逼android上的图表库MpChart(一) 介绍篇
最牛逼android上的图表库MpChart一 介绍篇 MpChart优点 MpChart是什么 MpChart支持哪些图表 MpChart效果如何 最牛逼android上的图表库MpChart(一) ...
- ASP.NET Core Web开发学习笔记-1介绍篇
ASP.NET Core Web开发学习笔记-1介绍篇 给大家说声报歉,从2012年个人情感破裂的那一天,本人的51CTO,CnBlogs,Csdn,QQ,Weboo就再也没有更新过.踏实的生活(曾辞 ...
- DDD分层架构之值对象(介绍篇)
DDD分层架构之值对象(介绍篇) 前面介绍了DDD分层架构的实体,并完成了实体层超类型的开发,同时提供了验证方面的支持.本篇将介绍另一个重要的构造块——值对象,它是聚合中的主要成分. 如果说你已经在使 ...
- Kubernetes系列之Helm介绍篇
本次系列使用的所需部署包版本都使用的目前最新的或最新稳定版,安装包地址请到公众号内回复[K8s实战]获取 介绍 Helm 是 Deis 开发的一个用于 Kubernetes 应用的包管理工具,主要用来 ...
- Percona XtraBackup 安装介绍篇
XtraBackup介绍 XtraBackup是Percona公司的开源项目,用以实现类似Innodb官方的热备份工具InnoDB Hot Backup的功能,它支持在线热备份(备份时不影响数据读写) ...
- (zhuan) 深度学习全网最全学习资料汇总之模型介绍篇
This blog from : http://weibo.com/ttarticle/p/show?id=2309351000224077630868614681&u=5070353058& ...
- 180719-Quick-Task 动态脚本支持框架之使用介绍篇
文章链接:https://liuyueyi.github.io/hexblog/2018/07/19/180719-Quick-Task-动态脚本支持框架之使用介绍篇/ Quick-Task 动态脚本 ...
- SpringBoot 系列教程之编程式事务使用姿势介绍篇
SpringBoot 系列教程之编程式事务使用姿势介绍篇 前面介绍的几篇事务的博文,主要是利用@Transactional注解的声明式使用姿势,其好处在于使用简单,侵入性低,可辨识性高(一看就知道使用 ...
- 使用ADMT和PES实现window AD账户跨域迁移-介绍篇
使用 ADMT 和 pwdmig 实现 window AD 账户跨域迁移系列: 介绍篇 ADMT 安装 PES 的安装 ADMT:迁移组 ADMT:迁移用户 ADMT:计算机迁移 ADMT:报告生成 ...
随机推荐
- sql insert into select语句写法-将查询结果直接插入到表中
insert into month_gpcj_info(idStr,zszrmygpsl,xyzrmygpsl,mycje,mycjl,month_date,dataCompiledDate) sel ...
- Android中图像变换Matrix的原理、代码验证和应用(一)
第一部分 Matrix的数学原理 在Android中,如果你用Matrix进行过图像处理,那么一定知道Matrix这个类.Android中的Matrix是一个3 x 3的矩阵,其内容如下: Matri ...
- Web前端性能优化教程02:使用内容分发网络
基础知识 服务器离用户越近,HTTP请求的响应时间将更短. CNAME:别名记录,当多个域名需要指向同一服务器IP,可以使用一个域名做A记录指向该服务器IP,然后让多个域名指向该A记录. ICP:In ...
- wamp服务下部署禅道或其它项目时访问缓慢的解决办法
原因其实很简单: WAMP服务默认是不支持外网访问的,如果公司内外网在一起就会引起缓慢甚至超时的问题,直接修改WAPM的配置文件让它可以访问外网即可解决问题. 解决的方法/步骤 1.解决办法: ...
- 【caffe】cifar10例子之quick_train.sh在windows下的解决方案
@tags caffe 照例还是转写为python脚本: import os caffe_root=os.environ['caffe_root'] caffe_build=os.environ['c ...
- NOIP2013
DAY1 转圈游戏 列出式子(x+km)%n,快速幂. // codevs3285 #include<algorithm> #include<iostream> #includ ...
- fbv (FrameBuffer Viewer)编译指南
fbv:FrameBuffer image Viewer,可在控制台下查看jpg,png,gif,bmp等格式的图片,可以结合FBTerm在控制台设置背景图片,也可在编译在嵌入式设备上使用.但是ubu ...
- CameraFlash手电筒
有时候晚上找不到电棒,电灯,咱们可以写个小程序,利用照相机的闪光灯临时顶替上代码: 1 package com.linux.cameraflash; import android.hardware.C ...
- C#基础之数组排序,对象大小比较
从个小例子开始: 1 2 3 int[] intArray = new int[]{2,3,6,1,4,5}; Array.Sort(intArray); Array.ForEach<int&g ...
- MVC5-11 浅谈拦截器
Filter拦截器 Aop是MVC的主要设计方式之一,而微软也希望我们在使用MVC的时候更好的使用拦截器来进行切面编程.拦截器则是Mvc中的一大亮点与重点 AOP(面向切面)编程已经广泛应用在各个项目 ...