Selenium2Library测试web
Selenium 定位元素
▲ Locator
可以id或name来用定位界面元素
也可以使用XPath或Dom,但是,必须用XPath=或Dom=来开头
▲ 最好使用id来定位,强烈建议强制要求开发为所有需要交互的界面元素设定id,所以,locator最好以id=,name=,identifier=

▲ 浏览器操作常用的关键字
|
关 键 字 |
描 述 |
|
Open Browser |
打开浏览器 |
|
Maximize Browser Window |
最大化窗口 |
|
Go To |
前进 |
|
Go Back |
后退 |
|
Reload Page |
重新加载页 |
|
Close Window |
关闭窗口 |
|
Close Browser |
关闭浏览器 |
|
Close All Browsers |
关闭所有的浏览器 |
|
Delete All Cookies |
清空所有缓存 |
|
Switch Browser |
切换浏览器窗口 |
▲ 点击和输入常用的关键字
|
关 键 字 |
描 述 |
|
Click Button |
单击按钮 |
|
Click Element |
单击元素 |
|
Click Image |
单击图片 |
|
Click Link |
单击链接 |
|
Double Click Element |
双击元素 |
|
Input Password |
密码输入文本框 |
|
Input Text |
文本输入框 |
▲ 验证页面是否包含相应结果
|
关 键 字 |
描 述 |
|
Page Should (Not) Contain Button |
验证页面是否包含或不包含按钮 |
|
Page Should (Not) Contain Checkbox |
验证页面是否包含或不包含复选框 |
|
Page Should (Not) Contain Element |
验证页面是否包含或不包含某个元素 |
|
Page Should (Not) Contain Image |
验证页面是否包含或不包含图片 |
|
Page Should (Not) Contain Link |
验证页面是否包含或不包含链接 |
|
Page Should (Not) Contain List |
验证页面是否包含或不包含的列表 |
|
Page Should (Not) Contain Radio Button |
验证页面是否包含或不包含单选框 |
|
Page Should (Not) Contain Textfield |
验证页面是否包含或不包含文本字段 |
|
Location Should Be |
校验当前URL地址是否与所给URL地址一致 |
|
Location Should Contain |
校验当前URL地址是否包含预期值 |
|
Title Should Be |
校验当前页面title值与期望值一致 |
|
关 键 字 |
描 述 |
|
List Selection Should Be |
验证被选list控件中selection项是否与参数*itmes匹配 |
|
List Should Have No Selections |
验证被选list控件中selection项是否未选择 |
|
Checkbox Should Be Selected |
通过定位标识出checkbox元素已被选择或勾选 |
|
Checkbox Should Not Be Selected |
通过定位标识出checkbox元素未被选择或勾选 |
|
Radio Button Should Be Set To |
通过定位标识出Radio元素已被选择或勾选 |
|
Radio Button Should Not Be Selected |
通过定位标识出Radio元素未被选择或勾选 |
|
Xpath Should Match X Times |
验证页面指定Xpath元素与Expected_xpath_count给定的数量是否一致 |
|
关 键 字 |
描 述 |
|
Table Cell Should Contain |
校验某单元格是否包含期望值信息 |
|
Table Column Should Contain |
校验指定列是否包含预期值 |
|
Table Footer Should Contain |
校验表格包含预期值 |
|
Table Header Should Contain |
校验表格header包含预期值 |
|
Table Row Should Contain |
校验指定行是否包含预期值 |
|
Table Should Contain |
校验在表格某个位置中可以找到期望值 |
|
Textfield Should Contain |
校验文本输入框中存在的期望值 |
|
Textfileld Value Should be |
验证指定文本输入框值与期望值准确匹配 |
Robot Framework测试用例分层思想

▲ 常用的用例分层
一、案例分层(三层)
案例层:测试流程+数据
流程层:元素操作
元素层:测试库封装
二、案例分层(四层)
案例层:测试流程+数据
流程层:页面层操作
页面层:元素操作
元素层:测试库封装
▲ 注:数据和流程分离开,能够减少一些由需求变更引发的修改,数据也可以进一步分离,存放在变量文件、数据库或者Excel里,运行的时候再去读取数据。
关键字驱动
关键字驱动:关键字以及相关参数构成,常用的一种模式。测试用例可以描述成各种的业务工作流,这样的工作流可以用关键字驱动或者行为驱动方式编写。
如下图采用四层模型分层设计:

- 创建正常登录测试用例

首先初始化全局变量,直接录入封装好的接口关键字组装成测试步骤。
- 创建登录流程

登录流程指定页面层接口,这里正常登录指定登录页面。
- 创建登录页面

登录页面最终组装的测试步骤脚本。异常登录各用例都是指向登录检查页面类。
数据驱动
数据驱动方式用来编写一些带有输入数据变量的工作流。用高级别的关键字—user keyword完成测试用例,隐藏了实际的测试工作流。用于测试执行步骤相同,输入数据输出结果不同的测试用例。
以下图用例分四层模型设计,一层嵌套一层执行调用。
比如,登录异常测试的数据驱动,把数据写在表格里,调用模板登录异常流程。

在登录异常流程设置参数,然后调用登录异常页面。

登录异常页面录入测试用例脚本,针对传参数据供用例调用执行。如下图所示:

编写测试用例脚本使用技巧
● 想查看某个测试库的关键字用法,按F5键,会弹出窗口供用户查询当前的测试库及关键字说明
● 如要查看表格区已存在的用例脚本的关键字, Ctrl+鼠标悬浮(即鼠标在某个关键字上),可以直接显示关键字的相关用法

● 输入sho再同时按住ctrl+alt+space键,则可以自动带出相关关键字,方便选中关键字及查看用法
● 对于已输入的关键字,忘了其用法,可以点击关键字输入框再同时按住ctrl+alt+space键,即可查看该关键字的用法。
● 红色的表示必填的参数,浅灰色表示选填的参数,深灰色表示无需填写。

Selenium2Library测试web的更多相关文章
- Robot Framework--13 RFS+AutoItLibrary测试web上传下载
转自:http://blog.csdn.net/tulituqi/article/details/21888059 Selenium2library在我们实际测试web页面的时候基本上已经够用了,不过 ...
- Robot Framework--12 RFS+AutoItLibrary测试web对话框
转自:http://blog.csdn.net/tulituqi/article/details/21871247 Selenium2library在我们实际测试web页面的时候基本上已经够用了,不过 ...
- RFS+AutoItLibrary测试Web对话框
Selenium2library在我们实际测试web页面的时候基本上已经够用了,不过还是会有部分情况下会脱离Selenium2library的控制,无法进行操作.比如说下载文件的时候,要选择保存文件在 ...
- 利用SoapUI 测试web service的方法介绍
1. 简介 SoapUI是用java开发的测试web service的工具. 2. 安装 2.1. 下载地址 http://www.soapui.org/ 2.2. 安装 By downloading ...
- 使用QTP测试Web对象
加载Web插件先启动QTP,再启动浏览器,否则Web元素识别不了最新版本QTP11支持的浏览器:IE:6.7.8Firefox:3.0.x.3.5.QTP支持直接访问DOM(Document Obje ...
- 使用SoapUI 测试Web Service
原文:使用SoapUI 测试Web Service 如何测试写好的Webservice?你当然可以写代码来测试,但还是太麻烦,你得花时间去学习各语言的关于Webservice调用的相关API.这里推荐 ...
- 利用python httplib模块 发送Post请求测试web服务是否正常起来!
最近在学习python,恰好老大最近让我搞个基于post请求测试web服务是否正常启用的小监控,上网查了下资料,发现强大的Python恰好能够用上,所以自己现学现卖,顺便锻炼下自己. 由于本人也刚接触 ...
- macaca 测试web(3)
上回书说到 macaca 测试web(2) 使用ddt做参数驱动化, 有些人会说,你好low,我说怎么low呢,他说你看看你的脚本就放在一个文件里,对于我们小白来说,这看起来很乱啊,能不能给我拆分, ...
- 用SoapUI 测试Web Service
如何测试写好的Webservice? 方法一:写代码来测试,但还是太麻烦,你得花时间去学习各语言的关于Webservice调用的相关API. 方法二:使用Webservice开发的必备工具- Soap ...
随机推荐
- jeesite 跳开登录页面直接访问
把控制层的${adminPath}改为${frontPath} 访问时吧/a改为/f 也可以在jeesite配置文件内配置两个的值 http://localhost:8181/cxfvp/a?logi ...
- maven入门-- part5 本地仓库,远程仓库,私服
解读Maven在仓库中的存储路径: 1.基于groupId准备路径,将句点分隔符转成路径分隔符,就是将 "." 转换成 "/" ; example: org ...
- Python脚本带-的参数脚本
一.故事背景 由于先前的工作内容是做后台开发,对于脚本写的很少: 昨天参加面试遇到一道面试题,写一个python脚本: 通过脚本的后面的参数选项获取参数选项后面的字符串进行处理: 问题没记错的话大概是 ...
- beego注解路由的格式
原文: https://blog.csdn.net/weixin_33743880/article/details/88016192 beego注解路由的注释,我们可以把我们的注释分为以下类别: @T ...
- CentOS 7自动以root身份登录GNOME桌面
CentOS 7自动以root身份登录GNOME桌面 修改配置文件 /etc/gdm/custom.conf,在 [daemon] 下面添加一下两行 AutomaticLoginEnable=true ...
- -sh: ./a.out: not found
感觉程序没有问题,编译生成a.out后,拷贝到开发板执行,提示 -sh: ./a.out: not found. 上网查找问题,大概原因有2个 一就是有可能/lib下面没有C库 就是没有glibc或者 ...
- SQL语句复习【专题八】
SQL语句复习[专题八] 序列 Sequence.数据库对象是 oracle 专有的.作用:可以将某一列的值使用序列,来实现自动增长的功能.访问序列的值.[序列有两个属性 nextval currva ...
- Hadoop_06_Hadoop的HDFS的概念和特性
1.HDFS的概念和特性 1.1. 首先,它是一个文件系统,用于存储文件,通过统一的命名空间——目录树来定位文件 1.2. 它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色:重 ...
- C语言-数字字符串转换成这个字符串对应的数字(十进制、十六进制)
数字字符串转换成这个字符串对应的数字(十进制.十六进制) (1)数字字符串转换成这个字符串对应的数字(十进制) 要求:这个字符串参数必须包含一个或者多个数字,函数应该把这些数字转换为整数并且返回这个整 ...
- 复杂sql优化步骤与技巧
数据管理型系统,由于用户的要求或者系统设计要求,会出现大量表进行join,还要进行大量统计性数据查询展示,甚至数据权限控制等操作.最后会导致sql异常复杂,随着数据量增加,或者只是应用到生产环境(正式 ...