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的更多相关文章

  1. Robot Framework--13 RFS+AutoItLibrary测试web上传下载

    转自:http://blog.csdn.net/tulituqi/article/details/21888059 Selenium2library在我们实际测试web页面的时候基本上已经够用了,不过 ...

  2. Robot Framework--12 RFS+AutoItLibrary测试web对话框

    转自:http://blog.csdn.net/tulituqi/article/details/21871247 Selenium2library在我们实际测试web页面的时候基本上已经够用了,不过 ...

  3. RFS+AutoItLibrary测试Web对话框

    Selenium2library在我们实际测试web页面的时候基本上已经够用了,不过还是会有部分情况下会脱离Selenium2library的控制,无法进行操作.比如说下载文件的时候,要选择保存文件在 ...

  4. 利用SoapUI 测试web service的方法介绍

    1. 简介 SoapUI是用java开发的测试web service的工具. 2. 安装 2.1. 下载地址 http://www.soapui.org/ 2.2. 安装 By downloading ...

  5. 使用QTP测试Web对象

    加载Web插件先启动QTP,再启动浏览器,否则Web元素识别不了最新版本QTP11支持的浏览器:IE:6.7.8Firefox:3.0.x.3.5.QTP支持直接访问DOM(Document Obje ...

  6. 使用SoapUI 测试Web Service

    原文:使用SoapUI 测试Web Service 如何测试写好的Webservice?你当然可以写代码来测试,但还是太麻烦,你得花时间去学习各语言的关于Webservice调用的相关API.这里推荐 ...

  7. 利用python httplib模块 发送Post请求测试web服务是否正常起来!

    最近在学习python,恰好老大最近让我搞个基于post请求测试web服务是否正常启用的小监控,上网查了下资料,发现强大的Python恰好能够用上,所以自己现学现卖,顺便锻炼下自己. 由于本人也刚接触 ...

  8. macaca 测试web(3)

    上回书说到 macaca 测试web(2)  使用ddt做参数驱动化, 有些人会说,你好low,我说怎么low呢,他说你看看你的脚本就放在一个文件里,对于我们小白来说,这看起来很乱啊,能不能给我拆分, ...

  9. 用SoapUI 测试Web Service

    如何测试写好的Webservice? 方法一:写代码来测试,但还是太麻烦,你得花时间去学习各语言的关于Webservice调用的相关API. 方法二:使用Webservice开发的必备工具- Soap ...

随机推荐

  1. python之文件 I/O

    打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式.此函数把你传递的表达式转换成一个字符串表达式,并将结果写到标准输出如下: >>> prin ...

  2. 裸磁盘上ext4与xfs在线扩容,非LVM

    虚拟机添加一个20G的硬盘,磁盘为sdb,分区为ext4 格式化一个5Gib的磁盘出来,用dd命令写入4G数据. 一.需求是容量为5G的磁盘,文件系统为ext4的sdb1扩容到10G. 操作步骤为 1 ...

  3. 菜鸟宝典之Windows Server 2012 R2上PHP、MySQL环境搭建

    原文来自:https://www.jb51.net/article/59280.htm 上车准备一.准备工具服务器操作系统:Windows Server 2012PHP版本:5.6.9(根据自己需要) ...

  4. 分布式之Zookeeper一(分布式锁与Zookeeper集群)

    说到分布式开发,不得不说的就是zookeeper了:zookeeper官网说到Apache ZooKeeper致力于开发和维护可实现高度可靠的分布式协调的开源服务器.那么zk作为一个协调者的存在,是分 ...

  5. zoj 4122 Triangle City 2019山东省赛J题

    题目链接 题意: 给出一个无向图,类似三角形的样子,然后给出边的权值,问找一条从第一个点到最后一个点的路径,要求每一条边只能走一次,并且权值和最大,点可以重复走. 思路: 首先观察这个图可以发现,所有 ...

  6. java线程基础巩固---线程ID,优先级

    这里学习Thread的两个比较简单的API,直接上代码: 线程ID: 那它的生成规则是?直接看源码: 那为什么目前打印是9呢?然后在jvm启动的时候就已经创建了8个线程?继续用jconsole来验证一 ...

  7. Python的在线编辑环境

    另外,再提供几个Python的在线编辑环境,可以直接写代码并且运行的环境. 在线Python实验室:http://www.pythoner.cn/labs/ 在线Python编辑器:http://ww ...

  8. 下载安装mysql-connector

    执行命令:python -m pip install mysql-connector 测试

  9. Jenkins配置邮件信息

    1.进入Manage Jenkins----系统配置 2.设置Jenkins地址和管理员邮箱(不设置管理员邮箱无法发送邮件) 3.配置系统管理员的邮件属性 4.点击[高级]配置系统管理员的邮件属性 5 ...

  10. JAVA bean为何要实现序列化

    简而言之:序列化,就是为了在不同时间或不同平台的JVM之间共享实例对象.即序列化出于两个原因:①.用于持久化到磁盘上:②.用于作为数据流在网络上传输. 所谓的Serializable,就是java提供 ...