RobotFramework + Python 自动化入门 四 (Web进阶)
在《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进阶)的更多相关文章
- RobotFramework + Python 自动化入门 三 (Web自动化)
在<RobotFramwork + Python 自动化入门 一>中,完成了一个Robot环境搭建及测试脚本的创建和执行. 在<RobotFramwork + Python 自动化入 ...
- RobotFramework + Python 自动化入门 二 (关键字)
在<RobotFramwork + Python 自动化入门 一>中,完成了Robot环境搭建及测试脚本的创建和执行. 本节,对RobotFramework的关键字使用和查看源码进行介绍. ...
- RobotFramework + Python 自动化入门 一 (从这里开始)
一.环境搭建 1. 安装Python Python3会自动配置path,安装pip工具(python包安装和管理工具) 2. 安装robotframework library cmd窗口安装命令: p ...
- Python爬虫入门四之Urllib库的高级用法
1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Headers 的属性. 首先,打开我们的浏览 ...
- 转 Python爬虫入门四之Urllib库的高级用法
静觅 » Python爬虫入门四之Urllib库的高级用法 1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我 ...
- 【python自动化第四篇:python入门进阶】
今天的课程总结: 装饰器 迭代器&生成器 json&pickle实现数据的序列化 软件目录结构规范 一.装饰器 装饰器的本质是函数,起目的就是用来为其它函数增加附加功能 原则:不能修改 ...
- Python 自动化入门 day1复习
一.Python介绍 Python是1989年圣诞节期间龟叔创造的一种解释型语言. 最新的TIOBE排行榜 目前Python主要应用领域: 云计算: 云计算最火的语言, 典型应用OpenStack W ...
- Appium+python自动化(四十二)-Appium自动化测试框架综合实践- 寿终正寝完结篇(超详解)
1.简介 按照上一篇的计划,今天给小伙伴们分享执行测试用例,生成测试报告,以及自动化平台.今天这篇分享讲解完.Appium自动化测试框架就要告一段落了. 2.执行测试用例&报告生成 测试报告, ...
- Python自动化开发 - Django【进阶篇】
Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行 ...
随机推荐
- Asp.NetCore Web开发之会话技术
这节讲一下会话技术,首先了解一下什么是会话,会话是指浏览器打开到关闭的过程中,多次与服务器发送接收数据的过程. 由于HTTP是无状态协议,一次请求响应过后,产生的数据就随之释放了,可是在某些情况下,我 ...
- Junit单元测试&反射&注解
内容索引 1. Junit单元测试 2. 反射 3. 注解 Junit单元测试: * 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值. 2. 白盒测试:需要写代码的.关 ...
- XCTF.MISC 新手篇
目录 泪目 1.this_is_flag 2.pdf 3.如来十三掌 4.give_you_flag 5.坚持60s 6.gif 7.掀桌子 8.ext3 9.stegano 10.SimpleRAR ...
- python双曲线拟合
待拟合函数 y = alpha * pow(x, beta) 输入: x数组,y数组 输出: alpha,beta,相关系数R2 from scipy.optimize import leastsq ...
- [DB] Spark Core (3)
高级算子 mapPartitionWithIndex:对RDD中每个分区(有下标)进行操作,通过自己定义的一个函数来处理 def mapPartitionsWithIndex[U](f: (Int, ...
- QTableWidget - 基础讲解(1)
转载:http://www.cnblogs.com/fuqia/p/8904196.html QTableWidget是QT程序中常用的显示数据表格的空间,很类似于VC.C#中的DataGrid.说到 ...
- 命令stat anaconda-ks.cfg会显示出文件的三种时间状态(已加粗):Access、Modify、Change。这三种时间的区别将在下面的touch命令中详细详解:
7.stat命令 stat命令用于查看文件的具体存储信息和时间等信息,格式为"stat 文件名称". stat命令可以用于查看文件的存储信息和时间等信息,命令stat anacon ...
- YAML/YML文件一直提示格式错误解决方法
第一次接触yml文件,各种格式报错,但是看了几次也没看出来.其实有一个好方法,那就是直接通过yml在线格式检查 可以将yml具体内容复制到以下网址进行查询.具体报错位置会更加详细 https://ww ...
- 018.Python迭代器以及map和reduce函数
一 迭代器 能被next进行调用,并且不断返回下一个值的对象 特征:迭代器会生成惰性序列,它通过计算把值依次的返回,一边循环一边计算而不是一次性得到所有数据 优点:需要数据的时候,一次取一个,可以大大 ...
- web技术开发桌面应用
三款前端工程师桌面应用开发神器! http://mini.eastday.com/a/160630023107669-2.html 如果我告诉你,以后你们可以用前端语言(html5+css3+js)开 ...