在《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. C++ primer plus读书笔记——第16章 string类和标准模板库

    第16章 string类和标准模板库 1. string容易被忽略的构造函数: string(size_type n, char c)长度为n,每个字母都为c string(const string ...

  2. 如何使用GoLand debug

    debug 常用操作 /* 如何使用 goland debug goroutine */ package main import ( "fmt" "runtime&quo ...

  3. [BD] HBase

    NoSQL数据库 关系型数据库:用表格的行-列来保存数据,OLTP,写入多,行式存储 非关系型数据库:只用来存储数据,业务逻辑由应用程序处理,OLAP,查询多,列式存储 常见NoSQL数据库 Redi ...

  4. mysql示例及练习2

    #创建数据库并应用create database shopdb;use shopdb;#创建表customerscreate table customers(c_id int primary key ...

  5. readlink 函数用法 -(转自 JK198310的专栏)

    相关函数: stat, lstat, symlink 表头文件: #include <unistd.h> 定义函数:ssize_t readlink(const char *path, c ...

  6. 惊奇发现KEIL也可以C++编译了

    在Github上面浏览下载的一个工程,可以用KEIL打开,但是我竟然找不到mian函数.找了一圈发现是用到了面向对象的编程方法,那就必须支持C++,他怎么实现的呢? 看配置工程:明显的一个不一样 -- ...

  7. java 实现简单的单点登录

    https://my.oschina.net/leamon/blog/266711 https://serviceturbo-cloud-cn.huawei.com/serviceturbocloud ...

  8. python3 smtplib发送邮件

    使用smtp包发送邮件还依赖email的一些方法 发送邮件主要分为三步: 1,定义邮箱参数:邮箱服务器地址,邮箱用户名,邮箱密码,邮件发送方,邮件接收方,邮件标题,邮件内容 2,配置发送内容 3,实例 ...

  9. 使用Typora编写Markdown你真的会了吗

    目录 Typora 介绍 使用 常用快捷键 概述 标题 一级标题 二级标题 方式(推荐) 一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 段落 粗体斜体删除线 下划线 注释 分割线 脚注 ...

  10. Django 自定义表名和字段名

    Django 自定义表名和字段名 通过db_table和db_column自定义数据表名和字段名 假如你的数据库里已经有了一张数据表,且该表包含多个字段,你希望通过Django直接访问该数据表的各个字 ...