Robot Framework 自动化测试框架

概述

Robot Framework 是一个基于Python的、可扩展的、关键字驱动的测试自动化框架,用于端到端的验收测试或者验收驱动测试开发(ATDD)中。

  • 表格式的语法简单易用,以统一的方式创建测试用例
  • 可以通过现有关键字创建可复用的高层关键字
  • 提供了直观的HTML格式的测试报告和日志文件
  • 作为一个测试平台,是应用无关的
  • 提供了测试库API,可以轻易地使用Python或者Java创建自定义的测试库
  • 提供了命令行接口和基于XML的输出文件,可以与现有框架集成(如持续集成系统)
  • 提供了多种测试库支持,如用于web测试的Selenium,Java GUI测试,启动进程,Telnet,SSH等
  • 可以创建数据驱动的测试用例
  • 内置支持变量,在不同的环境中特别实用
  • 提供标签来分类和选择测试用例
  • 非常容易与源码控制系统集成,因为测试套件就是文件夹和文本文件
  • 提供了用例级别和测试套件级别的setup和teardown
  • 模块化的架构,支持针对不同接口的应用程序创建测试

以上摘抄自 Robotframework 中文手册

个人小结

  • Robot Framework 定义了测试用例的语法,需要学习手册内容
  • RIDE 是 Robot Framework 的 GUI,在RIDE上写测试用例很容易上手
  • Robot Framework 支持的第三方库,如 robotframework-seriallibrary,是在pyserial的基础上开发的支持 robot framework 的库,提供了 Robot Framework 使用的串口相关的关键字
  • Robot Framework 中的关键字,多数是库里面实现的类的方法名,比如 add_port 可以映射为关键字Add Port / add port / add_port /,使用方法和函数调用一样。具体查看手册。
  • 学习Python
  • 持续集成:Robot Framework + Jenkins

参考文档

Robotframework 中文手册:

        Robot Framework用户手册 — robotframework-userguide-cn 3.0.0 文档

        英文版本: Robot Framework User Guide

GitHub 中搜索学习:GitHub: Where the world builds software · GitHub

        搜索关键字如:Python, Robot Framework, Serial ...

Python 学习:Python3 教程 | 菜鸟教程 (runoob.com)

需求

开发自动化测试工具,使用 Robot Framework 框架。

测试串口命令

Robot Frame 外部支持库

        Seriallibrary, 下载源码安装

TODO

        基于Seriallibrary,编写串口命令测试用例

        基于pyserial, 编写自定义库,实现 AT 协议

测试HTTP MQTT

Robot Frame 外部支持库

        MQTTLibrary, pip install robotframework-mqttlibrary

        HttpLibrary, pip install robotframework-httplibrary

DB, MAP等功能

Robot Frame 外部支持库

        DatabaseLibrary, pip install robotframework-databaselibrary

        基于 folium 等实现 map 库?

安装

Python

安装 Python3.7.9, 需勾选添加到PATH

        注:3.7以上版本对Robotframework部分不友好,不推荐

Robot Framework

pip install robotframework

pip install wxPython==4.0.7.post2 // UI, RIDE(GUI) 的依赖库

pip install robotframework-ride // GUI

Seriallibrary

robotframework-seriallibrary, python setup.py install 源代码安装,安装后如果导入SerialLibrary失败,uninstall&install pyserial (pyserial 是seriallibrary的依赖库,安装seriallibrary时自动安装)

库的查看

标准库

..\Lib\site-packages\robot\libraries

        BuiltIn, Collections, DateTime ....

外部库

..\Lib\site-packages

        MQTTLibrary, DatabaseLibrary, SerialLibrary....   ---- 安装后目录下才有

 

其他

阿里云阿里云 ECS n4 1核 2 G,CentOS 7.9,个人学习用。目前部署了Java Web 环境,Jenkins,构建了 Robot Framework 任务,暂时够用。
阿里云部署开发环境

(假如 Aliyun 外网地址为:120.79.176.140)

Java Web 环境  // 按照ECS上的教程安装好 JDK,Tomcat

远程连接:https://ecs-workbench.aliyun.com/

创建安全组,安全组关联实例,根据需要配置安全组规则

安装Tomcat,修改Tomcat端口为80,安全组添加端口80的规则

./bin/startup.sh 启动Tomcat,在网页中输入:http://120.79.176.140

阿里云部署Jenkins

参考:https://www.cnblogs.com/superjie/p/9876028.html

yum install -y ca-certificates    //解决下载提示证书问题

安装Jenkins,修改Jenkins端口为8686,安全组添加端口8686的规则

service jenkins start 启动Jenkins,在网页中输入:http://120.79.176.140:8686/

激活Jenkins后安装推荐的插件

Jenkins + RobotFramework

节点 ( rftest)

        系统管理 -> 全局安全配置

                代理->随机选取,Java Web Start Agent Protocol/4 (TLS 加密)

        系统管理 -> 节点管理

                名称: rftest;

                远程工作目录: D:\Jenkins;

                标签: rf;

                用法: 尽可能的使用这个节点;

                启动方式: 通过Java Web启动代理, [√]Use WebSocket;

                可用性: 尽量保持代理在线;

                本地操作: 连接代理。上面的节点有agent.jar链接及命令行连接命令,下载 agent.jar,在本地用命令行连接代理。

构建任务( rf00 )

        新建 Job -> 输入一个任务名称 rf00 -> 构建一个自由风格的软件项目

        General

                [√]限制项目的运行节点, 标签表达式: rf;

        构建

                执行Windows批处理命令, 命令: pybot.bat

                //pybot.bat 所在目录:D:\Jenkins\workspace\rf00

                        即:节点设置的远程工作目录+workspace+任务名

                //pybot.bat 内容:robot D:\rftest\test_serial

                //D:\rftest\test_serial目录是测试用例目录

        构建后操作

                Publish Robot Framework Test Results

                        // Jenkins 安装了 Robot Framework 插件才有该选项

                Thresholds for build result: 80%, 100%        

Pytest 如果是我个人玩的话,我会选Pytest,Pytest更加灵活一些,比如失败重跑,robotframe在跑完所有用例后再跑失败的用例,Pytest支持在用例失败是重跑几次再继续跑后面的用例。Pytest对并发的支持也更好一些。

                

             

                

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值