在编写自动化测试脚本时,为了使“机器”去自动辨识test case的执行结果是True还是False,一般都需要在用例执行过程中获取一些信息,来判断用例的执行时成功还是失败。

判断成功失败与否,就涉及到断言。webdriver的断言使用有三种模式:操作(action)、辅助(accessors)、断言(assertion)。

1、操作(action)

模拟用户与Web应用程序的交互,一般用于操作应用程序的状态;

如点击链接,选择选项的方式进行工作;如果一个动作执行失败,或是有错误,当前的测试将会停止执行。

常见命令如下:

open(打开页面)

click(点击)

clickAndWait(点击并等待)

type(文本类型)

select(选择下拉菜单)

selectWindow(选择弹出窗口)

pause(等待指定时间,以毫秒为单位,即要睡眠的时间)

setSpeed(设定执行速度。以毫秒延迟间隔长度。默认没有延迟,即为0)

setTimeout(指定等待动作完成的等待时间。默认为30秒,需要等待的动作包括了OPEN 和WAITFOR)

goBack(模拟用户点击其浏览器上的“back”按钮)

close(模拟用户点击弹出窗体或表单标题栏上的”关闭”按钮)

2、辅助(accessors)

辅助工具,用于检查应用程序的状态并将结果存储到变量中;

如:storeElementPresent(locator,variableName)

其中参数locator表示元素定位器,variableName用于存储结果的变量名;

即将locator定位到的状态存储到variableName变量中,如果该元素出现返回true,否则返回false,可同断言一同使用。

3、断言(assertion)

验证应用程序的状态是否同所期望的一致。

常见的断言包括:验证页面内容,如标题是否为X或当前位置是否正确,或是验证该复选框是否被勾选。

常用断言如下:

assertLocation(判断当前是在正确的页面)

assertTitle(检查当前页面的title是否正确)

assertValue(检查input的值, checkbox或radio,有值为”on”无为”off”)

assertSelected(检查select的下拉菜单中选中是否正确)

assertSelectedOptions(检查下拉菜单中的选项的是否正确)

assertText(检查指定元素的文本)

assertTextPresent(检查在当前给用户显示的页面上是否有出现指定的文本)

assertTextNotPresent(检查在当前给用户显示的页面上是否没有出现指定的文本)

assertAttribute(检查当前指定元素的属性的值)

assertTable(检查table里的某个cell中的值)

assertEditable(检查指定的input是否可以编辑)

assertNotEditable(检查指定的input是否不可以编辑)

assertAlert(检查是否有产生带指定message的alert对话框)

waitForElementPresent (等待检验某元素的存在,为真时,则执行)

使用断言的注意点:

①不要使用断言作为公共方法的参数检查,公共方法的参数永远都要执行;

②断言语句不可以有任何边界效应,不要使用断言语句去修改变量和改变方法的返回值;

selenium:断言的更多相关文章

  1. Selenium断言的使用,等待

    自动化测试常用断言的使用方法(python) 自动化测试中寻找元素并进行操作,如果在元素好找的情况下,相信大家都可以较熟练地编写用例脚本了,但光进行操作可能还不够,有时候也需要对预期结果进行判断. 这 ...

  2. 【Python + Selenium断言】之如何获取定位Web页面列表中的数据

    如下图所示: 当定位元素时,我想获取指定的某一列的某一行的断言,如图我只想获取jiancha1的值,有同学会说:直接定位不就好了.但是我们知道,列表的数据会时刻变动的,不能靠定死的路径,那该怎么办呢? ...

  3. mark资料-selenium断言的分类

    操作(action).辅助(accessors)和断言(assertion): 操作action: 模拟用户与 Web 应用程序的交互. 辅助accessors: 这是辅助工具.用于检查应用程序的状态 ...

  4. selenium 断言与验证

    断言和验证都是判断结果是否跟预期效果是否一致,不一致的情况下,断言会导致测试用例直接失败,程序不会继续执行:验证的测试用例会继续执行. 断言的4种模式+5种手段: assert 断言失败时,该测试将终 ...

  5. selenium断言的分类

    操作(action).辅助(accessors)和断言(assertion): 操作action: 模拟用户与 Web 应用程序的交互. 辅助accessors: 这是辅助工具.用于检查应用程序的状态 ...

  6. Selenium 中文API

    Selenium 中文API   转自:http://blog.csdn.net/lh9529/article/details/3946567 概念 Selenium 通过命令进行驱动.Seleniu ...

  7. Selenium-IDE,在网页上模拟人的操作

    想偷懒,不想做很机械重复的网页操作,就百度了一下看看有什么方法,能把自己从重复性的网页操作中解放出来,于是,百度到了selenium ide,折腾许久,用最新版火狐添加了自带selenium ide组 ...

  8. Selenium-IDE在火狐上的扩展

    昨天突然想学学 Selenium,就上网查了一些介绍,发现一些教程基本都是比较老版本的了,使用起来略有不便,所以今天试着写一些最新版本的.请参考Selenium官网.文章以下内容都是在 Mac 机器上 ...

  9. Selenium 3----获取断言信息

    断言:把实际结果与预期进行比较. 一般可以通过获取title .URL和text等信息进行断言. title:用于获得当前页面的标题. current_url:用户获得当前页面的URL. text:获 ...

  10. selenium关于断言的使用

    基本介绍: Selenium工具专门为WEB应用程序编写的一个验收测试工具. Selenium的核心:browser bot,是用JAVASCRIPT编写的. Selenium工具有4种:Seleni ...

随机推荐

  1. 我写的Angular相关的文章

    此文正在更新中... Angular6的变化 Angular7的变化 No value accessor for form control with path的解决方案

  2. Android-textview图文混排(网络图片)

    工作太忙,不做过多的解释了,核心是用到了 SpannableStringBuilder  Glide  和 Rxjava 直接上代码了,就两个类. public class ImageSpanAsyn ...

  3. Spring Data Redis 让 NoSQL 快如闪电(2)

    [编者按]本文作者为 Xinyu Liu,文章的第一部分重点概述了 Redis 方方面面的特性.在第二部分,将介绍详细的用例.文章系国内 ITOM 管理平台 OneAPM 编译呈现. 把 Redis ...

  4. 使用Visual Studio Team Services持续集成(三)——使用工件

    使用Visual Studio Team Services持续集成(三)--使用工件 工件是应用程序的可部署组件.Visual Studio Team Services有能力在构建过程中显式地管理工件 ...

  5. 服务端如何获取客户端请求IP地址

    服务端获取客户端请求IP地址,常见的包括:x-forwarded-for.client-ip等请求头,以及remote_addr参数. 一.remote_addr.x-forwarded-for.cl ...

  6. LeetCode题解之 Assign Cookies

    1.题目描述 2.问题分析 使用贪心算法. 3 代码 class Solution { public: int findContentChildren(vector<int>& g ...

  7. Linux中安装硬盘后对硬盘的分区以及挂载

    我将使用VM来进行模拟 先使用df看下我的电脑硬盘信息: df -h 可以看到只有一个sda1分区装载/boot,还有一个扩展分区 查看dev下的硬盘: 只有一个硬盘(两个分区) 注意: 如果你是ID ...

  8. java笔记----java新建生成用户定义注释

    ${filecomment} ${package_declaration} /** * @author ${user} * @date 创建时间:${date} ${time} * @version ...

  9. java----OO的概念和设计原则(转)

    一.OO(面向对象)的设计基础 面向对象(OO):就是基于对象概念,以对象为中心,以类和继承为构造机制,充分利用接口和多态提供灵活性, 来认识.理解.刻划客观世界和设计.构建相应的软件系统.面向对象的 ...

  10. mssql sqlserver 规范使用方法分享

    转自:http://www.maomao365.com/?p=5586 摘要:下文主要讲述sql server表设计及脚本编写中,相关规范 ———————————数据表字段类型选择:字符类型根据长度选 ...