教你不用写代码也能做自动化【乐搏TestPRO】

啥?不能写代码也能做自动化?
是哒,没问题,2020不懂RobotFramework怎么行?

1. RF是什么

RF是一款基于Python编程语言设计的、可扩展的、关键字驱动模式的测试自动化框架,具备良好的可扩展性,可以通过XML-RPC服务扩展支持其他常用编程语言,可以同时测试多种类型的客户端或接口,可以支持分布式测试执行。该框架特点如下:

易于使用,采用表格输入语法及统一的测试用例(Test Case,也叫测试案例)格式 重用性好,可以利用现有关键字来组合新的用户自定义关键字
支持资源文件,支持多种变量类型,包括字符串变量、List列表变量、Dictionary字典变量等
测试用例执行结果报告和日志采用HTML格式,易于阅读和邮件转发 提供标签以分类来选择将被执行的测试用例,使得测试用例的选择更加灵活
支持Web界面测试、Web接口服务测试、GUI测试、多种终端测试 支持多种数据库的操作,包括常用的关系型数据库、非关系型数据库
易于扩展自定义的Lib库,可以通过Python或Java等其他语言来动态扩展Lib库
集成了很多流行的自动昂华测试工具,如Appium、Selenium等
通过Jthon的方式,使得以Python为主的RF自动化测试框架无缝地与Java语言进行完美集成,也可通过XML-RPC远程协议来支持Java或C++等语言。
在RF中,使用Python实现了自动化测试用例编写的客户端RIDE,使用RIDE可以非常简单地完成自动化测试用例的编写,也可以使用RIDE完成用户层面的关键字API的封装,使不懂任何编程的人也可以封装自己的API。

2. RF常用的插件工具

Eclipse plugin:RF为EclipseIDE开发工具提供的插件,是用户可以再Eclipse上编写自动化测试用例,GitHub地址为:https://github.com/NitorCreations/RobotFramework-EclipseIDE/wiki
Robot Plugin for InteliJ IDEA:和Eclipse Plugin类似,是为InteliJ IDEA开发工具提供的插件,是用户可在InteliJ IDEA编写自动化测试用例,下载地址为:https://plugins.jetbrains.com/plugin/7430-robot-plugin
Jenkins plugin:在Jenkins上使用的插件,这个插件可以使RF完美地集成在主流的持续集成工具Jenkins上,插件地址:https://wiki.jenkins.io/display/jenkins/robot+framework+plugin
Maven plugin:RF提供的Maven插件,下载地址:https://robotframework.org/mavenplugin/,当前最新版本是1.4.7
Ant task:这是为另一个打包工具Ant听过的执行插件,使RF可以通过Ant的方式运行,下载地址:http://code.google.com/p/robotframework-ant
Pabot:RF提供的并发执行器,即多线程并发执行模式,可以在win的cmd中执行pip install -U robotframework-pabot进行安装,也可以在Github上下载:https://githua.com/mkorpale/pabot,然后离线安装
**Atom plugin:**RF为支持Atom而开发的插件,下载地址:https://atom.io/packages/language-robot-framework

3. RF附带如下标准库

Builtin:包含经常需要的关键字。自动导入无需import,因此总是可用的
Dialogs:提供了暂停测试执行和从用户的输入方式。
Collections:提供一组关键词处理Python列表和字典。
OperatingSystem:允许执行各种操作系统相关的任务。允许执行各种操作系统相关的任务,使各种操作系统相关的任务在robotframework正在运行的系统中执行。
Remote:远程库接口的一部分。没有自己的任何关键字,作为robotframework和测试库之间的代理的特殊库。实际测试库可以在不同的机器上运行,可以使用任何编程语言支持XML-RPC协议的实现。
Screenshot:提供关键字来捕获和存储桌面的截图。
String:用于处理字符串并验证它们的内容的库,用于生成、修改和验证字符串
Telnet: 支持连接到Telnet服务器上打开的连接执行命令 。
XML:用于生成、修改和验证XML文件的库。
Process:系统中运行过程的库。
DateTime:日期和时间转换的库,支持创建和验证日期和时间值以及它们之间的计算

4. 不同应用的自动化测试需要响应的测试库,如下:

seleniumlibrary:Web测试库,内部使用比较流行的selenium工具。利用早期的selenium1.0和本身已经过时。
selenium2library:使用selenium2的Web测试库。替换了大部分老的seleniumlibrary。
appiumlibrary:Android和iOS测试库,内部使用的是appium
MongoDB library:使用pymongo和MongoDB交互的库。(MongoDB是一个基于分布式文件存储的数据库)
Database Library (Java):基于Java的数据库测试库。也可使用Jython和Maven central.
Database Library (Python):基于Python数据库测试库。支持任何Python解释器,包括Jython。
autoitlibrary:Windows的GUI测试库,使用AutoIt的免费工具作为驱动。
HTTP library (livetest):内部使用LiveTest工具的HTTP测试的库。
HTTP library (Requests):内部使用request工具的HTTP测试的库。

更多详见:http://robotframework.org/#libraries

5. RF测试环境安装所需软件

Python
Robot Framework
wxPython 2.8
集成开发环境RIDE
Selenium Library

6. RF自动化测试项目创建

一个RF项目其实和我们所熟知的单元测试项目结果目录基本是一样的,也包含了测试套件和测试用例的概念。在Win的cmd中进入到Ride.py目录输入Python ride.py打开RIDE,File—New Project,得到如下类型选择框:
教你不用写代码也能做自动化【乐搏TestPRO】_第1张图片

Name:项目名称
Type:项目存储方式:文件形式或目录形式,一般是目录形式
Format:文件促成你格式,提供了ROBOT(默认存储格式)、TXT、TSV、HTML四种格式

7. 创建测试套件和用例

选择创建的项目—右键—选择New Suite选项,输入测试套件名称,即可。
右键创建的测试套件—右键—New Test Case选项,输入用例名称,即可。

每天持续更新,软件测试知识!今天的分享先到这里,如果想要测试学习视频资料,可以加入软件测试学习交流答疑qun :⑥③⑥⑧⑤⑨⑨⑥④

你可能感兴趣的:(互联网,自动化测试,软件测试)