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. MySQL 5.7.18 zip版本的安装使用方法

    转自:https://www.cnblogs.com/nepulgh/p/7152618.html MySQL 5.7.18 zip版本的安装使用方法 这个版本的MySQL不像那种点击就可以立即安装, ...

  2. 【大数据】初识Hadoop

    因为项目日志体量较大,每天有4-7T的日志量,传统的sqlserver已经不能满足,所以现在需要使用到大数据的相关工具进行记录和使用. 虽然公共项目提供了组件和解决方案,但是对于一些名词.概念还是有必 ...

  3. Win7系统打开防火墙出现0x6D9错误的解决方法

    防火墙是Windows系统内的一道屏障,开启防火墙可以对系统起到一定的保护作用,可以说非常重要.但是有些Win7系统用户在开启防火墙时会被系统提示出现0x6D9的错误代码,从而不能打开防火墙. 当我们 ...

  4. linux命令详解——xargs

    1. 简介 之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了xargs命令,例如: find /sbin -perm +700 |ls -l     ...

  5. JDBC的两种sql命令发送器比较【Statement:PreparedStatement】

    PreparedStatement 接口继承 Statement接口如果需要多次执行一个SQL语句,可以使用PreparedStatement对象.在创建PreparedStatement对象时,通过 ...

  6. python基础编程: 函数示例、装饰器、模块、内置函数

    目录: 函数示例 装饰器 模块 内置函数 一.函数示例: 1.为什么使用函数之模块化程序设计: 不使用模块程序设计的缺点: 1.体系结构不清晰,可主读性差: 2.可扩展性差: 3.程序冗长: 2.定义 ...

  7. Nginx负载均衡和HTTPS配置及集群搭建

    Nginx的高可用(HA)配置 1.高可用配置结构(画图说明) 2.KeepAlived的安装和配置 1.安装 yum install keepalived 2.keepalived.conf配置文件 ...

  8. Linux 之Ubuntu在VM中安装(桌面版)

    1.安装系统 https://jingyan.baidu.com/article/14bd256e0ca52ebb6d26129c.html 2.安装VM Tools https://jingyan. ...

  9. hbase单机搭建

    一.下载 https://hbase.apache.org/downloads.html 2.1.3版本 解压,拷贝到文件夹 /hbase/hbase-2.1.3 设置HBASE_HOME环境变量,把 ...

  10. HelloWorld编写过程中注意事项

    一.package关键字 * package表示当前代码所属的包(package),是一种组织结构.其他package通过包名调用这个包下内容* package是必须的,每个文件的package必须存 ...