在《RobotFramwork + Python 自动化入门 一》中,完成了一个Robot环境搭建及测试脚本的创建和执行。

在《RobotFramwork + Python 自动化入门 二》中,对RobotFramework的关键字使用和查看源码进行了介绍。

在《RobotFramwork + Python 自动化入门 三》中,完成了web自动化脚本开发的入门。

本节,介绍web自动化脚本设计的进阶。

一、添加Setup和Teardown

对于一些如准备数据、打开浏览器的操作可以放到Setup中去,在测试用例开始执行之前会先执行Setup部分,完成环境准备。

对于一些如关闭浏览器、清除数据的操作可以放到Teardown中,在测试用例执行完成后(不论成功与否),都会执行teardown部分,完成环境清理。

如下图:

1. 将打开百度浏览器的操作封装到关键字 ’Open Baidu Browser‘

2. 添加Test Setup 和 Test Teardown

从测试报告中,也可看出Setup最先执行,Teardown最后执行。

二、提取Locator和Data

在实际写脚本中,我们会将用到的所有Locator和测试数据提取到Variables区域中。

这样,当locator或测试数据发生变化时,不需要逐一修改涉及到的测试脚本,只需将该locator或测试数据对应的变量进行修改即可,实现了数据与测试用例的分离,

提高了测试脚本的可维护性。

三、封装关键字

开发测试脚本时,可以按照测试用例的测试步骤将脚本进行封装,实现

一条测试步骤对应一个关键字,

一条预期结果对应一个关键字。

如下图:

1. 将在输入框中输入搜索词,单击搜索按钮的步骤封装为一个关键字

2. 将验证搜索结果的步骤(预期结果)封装为一个关键字

关键字参数

Documtation

添加关键字的文档说明,可以用来详细描述该关键字的功能。

在执行报告界面,可以看到关键字的Documentation:

Arguments

关键字参数,这样让关键字变得更加通用,也是实现了数据和用例的分离。

Log To Console

Log To Console后面的内容 会在Console显示,在封装关键字时使用这个系统关键字,可以方便在eclipse中执行脚本时查看当前执行到哪一步。

Console的输出:

RobotFramework + Python 自动化入门 四 (Web进阶)的更多相关文章

  1. RobotFramework + Python 自动化入门 三 (Web自动化)

    在<RobotFramwork + Python 自动化入门 一>中,完成了一个Robot环境搭建及测试脚本的创建和执行. 在<RobotFramwork + Python 自动化入 ...

  2. RobotFramework + Python 自动化入门 二 (关键字)

    在<RobotFramwork + Python 自动化入门 一>中,完成了Robot环境搭建及测试脚本的创建和执行. 本节,对RobotFramework的关键字使用和查看源码进行介绍. ...

  3. RobotFramework + Python 自动化入门 一 (从这里开始)

    一.环境搭建 1. 安装Python Python3会自动配置path,安装pip工具(python包安装和管理工具) 2. 安装robotframework library cmd窗口安装命令: p ...

  4. Python爬虫入门四之Urllib库的高级用法

    1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Headers 的属性. 首先,打开我们的浏览 ...

  5. 转 Python爬虫入门四之Urllib库的高级用法

    静觅 » Python爬虫入门四之Urllib库的高级用法 1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我 ...

  6. 【python自动化第四篇:python入门进阶】

    今天的课程总结: 装饰器 迭代器&生成器 json&pickle实现数据的序列化 软件目录结构规范 一.装饰器 装饰器的本质是函数,起目的就是用来为其它函数增加附加功能 原则:不能修改 ...

  7. Python 自动化入门 day1复习

    一.Python介绍 Python是1989年圣诞节期间龟叔创造的一种解释型语言. 最新的TIOBE排行榜 目前Python主要应用领域: 云计算: 云计算最火的语言, 典型应用OpenStack W ...

  8. Appium+python自动化(四十二)-Appium自动化测试框架综合实践- 寿终正寝完结篇(超详解)

    1.简介 按照上一篇的计划,今天给小伙伴们分享执行测试用例,生成测试报告,以及自动化平台.今天这篇分享讲解完.Appium自动化测试框架就要告一段落了. 2.执行测试用例&报告生成 测试报告, ...

  9. Python自动化开发 - Django【进阶篇】

    Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行 ...

随机推荐

  1. mysql 连表不要用varchar和int这两种不相同的类型做比较

    他会默认你123abc等于123 说多了都是泪啊

  2. RabbitMQ一些实用方法

    https://blog.csdn.net/vbirdbest/article/details/78670550

  3. re_path 的 ?P<>

  4. java集合-哈希表HashTable

    一.简介 HashTable也是一种key-value结构,key-value不允许null,并且这个类的几乎全部的方法都加上了synchronized锁,来保证并发安全,由于加了锁所以性能方面会比较 ...

  5. 通过Dapr实现一个简单的基于.net的微服务电商系统(十三)——istio+dapr构建多运行时服务网格之生产环境部署

    之前所有的演示都是在docker for windows上进行部署的,没有真正模拟生产环境,今天我们模拟真实环境在公有云上用linux操作如何实现istio+dapr+电商demo的部署. 目录:一. ...

  6. megacli修复raid1硬盘

    megacli修复raid1硬盘 By HKL, Tuesday 27 August 2019, 评论 [ Hardware Operating ] 使用megaraid修复raid1掉线硬盘 使用说 ...

  7. Zabbix agent端 配置

    Zabbix agent端 配置 agent端环境 zabbix-client:RHEL8 IP:192.168.121.11 一.安装 Zabbix 源 [root@zabbix-client ~] ...

  8. JFlash ARM对stm32程序的读取和烧录-(转载)

    本篇文章主要是记录一下JFlash ARM 的相关使用和操作步骤,读取程序说不上破解,这只是在没有任何加密情况下对Flash的读写罢了!在我们装了JLINK驱动后再根目录下找到JFlash ARM , ...

  9. 统计行数、文件夹个数、文件个数的相关shell命令

    极客君最近做项目,刚好遇到需要统计一些sql文件数量的问题,用到一些实用的shell命令,记录下来,以后万一还能用上呢? 如果在终端不打开文件看到一共多少行,则可以使用wc命令来实现: wc -l [ ...

  10. 【Web前端HTML5&CSS3】11-定位

    笔记来源:尚硅谷Web前端HTML5&CSS3初学者零基础入门全套完整版 目录 定位的简介 1. 相对定位 偏移量(offset) 相对定位的特点 2. 绝对定位 绝对定位的特点 包含块(co ...