简介

前言

黑羽robot是一款自动化测试框架。要学习它,您需要具备一些自动化测试的基本概念。

本教程讲解 的案例 是 一个 web 系统的自动化。 如果你 还不了解 基于 selenium 的 web自动化,请先 学完我们的 web自动化教程。

点击这里先学习Selenium Web自动化

黑羽robot 和 RobotFramework 的关系


点击这里,边看视频讲解,边学习以下内容

黑羽robot 是基于 RobotFramework, 增强的一款自动化框架。

为什么要基于 RobotFramework ?

RobotFramework 作为系统测试框架,有如下优点:

  • 用例存放采用目录文件结构,清晰明了

  • 清晰易懂的 初始化清除 机制

  • 可以灵活的 挑选 用例执行自动化

  • 漂亮的测试日志和报告

  • 国内很多企业采用,跳槽就业有优势


那么, RobotFramework有 缺点 吗?

白月黑羽认为,最大的缺点就是:反人类的 自动化测试用例语法

RobotFramework 的设计人员 可能认为,对测试自动化来说,掌握Python语言门槛比较高,所以自己搞了一套自动化测试用例语法,想降低自动化用例开发的难度。

实际上,不但没有降低,反而提高了 难度。 因为他们的那套语法 比 Python 还难学 难用。 特别是处理稍微复杂点的任务的时候,比如循环、判断、字典里面包含列表这种 复杂些的数据结构, 用 RobotFramework 可以说是太痛苦了。

想做好自动化开发,却不想学编程语言? 梦该醒了。


那么,黑羽robot 在 RobotFramework 基础上,增强了什么?

拨乱反正,将 RobotFramework 反人类的用例语法,改回用 Python 来实现测试用例。

饱受RF语法折磨的人,你会发现再也不需要学习RF奇葩的语法了,一切都是Python。只要你有Python语言基础,一切都是那么的轻松。

安装

安装 被测系统

要讲解 自动化测试,需要一个 被测系统

我们使用 白月SMS系统 作为被测系统。

点击百度网盘链接 ,下载 白月SMS系统 压缩包 bysms.zip

下载解压bysms.zip后,进入bysms目录,双击运行runserver.bat 即可启动 白月SMS系统。 出现下面这样的信息

\bysms\bysms>bysms.exe runserver 80
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).

You have 2 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): auth.
Run 'python manage.py migrate' to apply them.
September 07, 2019 - 22:22:19
Django version 2.2.4, using settings 'bysms.settings'
Starting development server at http://127.0.0.1:80/
Quit the server with CTRL-BREAK.

注意:该窗口不能关闭,否则web 系统就会停止

然后可以浏览器访问 登录页面 http://127.0.0.1/mgr/sign.html

输入

用户名 :byhy 密码: 88888888


该系统有个概要的需求文档,点击这里访问

针对该系统,现在有一批测试用例,准备自动化。 点击这里下载 白月SMS系统的测试用例文档

接下来,我们就使用 黑羽robot 框架, 开发这些用例的自动化。

安装 黑羽robot


点击这里,边看视频讲解,边学习以下内容

首先确保你电脑上安装好了 Python 3.6 或者 3.7 版本的解释器

1) 安装RF

黑羽robot基于Robot Framework ,所以必须先安装RobotFramework

直接执行如下Pip命令即可:

pip install robotframework 


2) 安装黑羽robot

点击这里下载黑羽robot项目包

解压下载的zip包,会产生一个名为 autotest_hyrobot 的目录, 这就是hyrobot的自动化项目目录。

你修改该目录的名字,比如我们要讲解 自动化测试 白月SMS系统 , 就可以改名为 autotest_bysms

项目目录结构

点击这里,边看视频讲解,边学习以下内容

黑羽robot 项目目录中包含

  • cases 目录

    里面存放 自动化测试用例代码

  • cfg 目录

    里面存放 配置文件

  • hyrobot 目录

    里面存放 hyrobot库 和 工具 代码, 开发者不需要 修改里面的内容

  • lib 目录

    里面存放 自动化测试用例 使用的 库 存放的目录

  • run.bat

    运行 黑羽robot, 执行自动化测试 的 脚本

用例和套件

点击这里,边看视频讲解,边学习以下内容

我们先了解一下用例目录的 结构 和 基本概念

cases 目录下面的 每个目录 和 py 文件 都 对应一个 测试套件

所谓测试套件,就是 测试用例的集合

我们把功能相关的测试用例组合起来放在一起,成为某个测试套件。

  • 测试套件 可以是 目录 也可以是 文件

  • 测试用例代码 是在测试套件py文件 中的

  • 一个套件文件文件 可以存放 多个用例

  • 测试套件目录可以包含 子套件目录 和 子套件文件

用例文件的编写、执行、产生日志报告

点击这里,边看视频讲解,边学习以下内容

编写用例

用例文件格式如下:

文件里面每个类对应一个用例。

类的 name 属性 指定 用例名

类的 teststeps 方法 里面的代码 就是 测试步骤

代码最前面加上

from hyrobot.common import *

导入 hyrobot 库,库里面有一些函数 和

声明每个步骤使用 STEP 库函数

打印信息用 INFO 库函数

检查点用 CHECK_POINT 函数。


具体的使用示例,参考讲解视频。

执行用例

执行用例需要

  • 打开命令行窗口

  • 进入到自动化项目根目

  • 运行 run.bat

具体的使用示例,参考讲解视频。

日志和报告

执行完后,就会产生 汉化的 日志 和 报告。参考讲解视频。




扫码分享给朋友,一起学更有动力哦




课后练习

题目1

根据教程



参考答案

参考下一节课的开始部分