前言

黑羽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


点击这里,边看视频讲解,边学习本节内容

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

1) 安装RF

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

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

pip install robotframework 


2) 安装黑羽robot

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

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

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

项目目录结构

点击这里,边看视频讲解,边学习本节内容

用例和套件

点击这里,边看视频讲解,边学习本节内容

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

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

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

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

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

点击这里,边看视频讲解,边学习本节内容

编写用例

每个类对应一个用例

类名是 name属性

测试步骤是 teststeps 方法

最前面加上

from hyrobot.common import *

声明每个步骤使用 STEP()

打印信息用 INFO

检查点用checkpoint

执行用例

日志和报告






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




课后练习

题目1

根据教程



参考答案

参考下一节课的开始部分