selenium2断言类Assert的使用
测试中断言的重要性
一、断言的作用:
1.断言也就是检查点,重在判断我们通过页面得出来的值与期望值是否相等,如果相等,则代表断言成功,程序会继续往下执行,如果不相等,则代表断言失败,程序就会在断言失败处中止。
示例:

二、断言的API:
1.Assert.assertEquals
2.Assert.assertFalse(condition)
3.Assert.assertNotEquals(actual1, actual2)
4.Assert.assertNotNull(object)
5.Assert.assertNotSame(actual, expected, message)
6.Assert.assertNull(object, message)
7.Assert.assertSame(actual, expected)
8.Assert.assertTrue(condition)
三、封装断言类
断言结果对程序的影响
1.场景:假如对一个表格里的数据做一个循环比较,如果一断言失败就退出,那我们就无法一下子找出全部不符合要求的数据了,那么我们可不可以在断言时,如果断言失败则不退出,等到把整个循环做完后,再整体判断是否有断言失败的地方?
示例:

脚本格式

具体代码
Assertion.java代码:
package com.selenium.utils;
import org.testng.Assert;
public class Assertion {
public static boolean flag = true;
public static void verifyEquals(Object actual, Object expected) {
try {
Assert.assertEquals(expected, actual);
} catch (Error e) {
flag = false;
Log.logError("数据对比错误-> 期望值为:" + expected + "实际值为:" + actual);
}
}
public static void verifyEquals(Object actual, Object expected,
String message) {
try {
Assert.assertEquals(expected, actual, message);
} catch (Error e) {
flag = false;
Log.logError("数据对比错误-> 期望值为:" + expected + "实际值为:" + actual);
}
}
}
在代码中使用如下:
package com.selenium.test; import org.junit.Assert;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import com.selenium.utils.Assertion; public class testAssertion { // @Test(dataProvider = "number")
public void testAssertAndLog4j(String text) {
String expected = "b";
String actual = text;
Assertion.flag = true;
for (int i = 0; i < 3; i++) {
System.out.println("断言开始:" + i);
Assertion.verifyEquals(actual, expected, "---测试两个字符串是否相同");
System.out.println("断言结束:" + i);
}
Assert.assertTrue(Assertion.flag);
} @DataProvider
public Object[][] number() {
return new Object[][] { { "a" }, { "b" }, { "c" } };
}
}
最后打个广告,不要介意哦~
最近我在Dataguru学了《软件自动化测试Selenium2》网络课程,挺不错的,你可以来看看!要是想报名,可以用我的优惠码 G863,立减你50%的固定学费!
链接:http://www.dataguru.cn/invite.php?invitecode=G863
selenium2断言类Assert的使用的更多相关文章
- Selenium2+python自动化56-unittest之断言(assert)
前言 在测试用例中,执行完测试用例后,最后一步是判断测试结果是pass还是fail,自动化测试脚本里面一般把这种生成测试结果的方法称为断言(assert). 用unittest组件测试用例的时候,断言 ...
- Selenium2+python自动化56-unittest之断言(assert)【转载】
前言 在测试用例中,执行完测试用例后,最后一步是判断测试结果是pass还是fail,自动化测试脚本里面一般把这种生成测试结果的方法称为断言(assert). 用unittest组件测试用例的时候,断言 ...
- selenium自动化-java-封断言类2
封装断言类 package streamax.com; import java.util.ArrayList; import java.util.List; import org.testng.Ass ...
- 断言(Assert)与异常(Exception)
## 断言和异常 断言是用来检查非法情况而不是错误情况的,用来帮开发者快速定位问题的位置. 异常处理用于对程序发生异常情况的处理,增强程序的健壮性和容错性. ## 断言的使用 在防御式编程中经常会用断 ...
- PHP断言(ASSERT)的用法
简述 编写代码时,我们总是会做出一些假设,断言就是用于在代码中捕捉这些假设,可以将断言看作是异常处理的一种高级形式.程序员断言在程序中的某个特定点该的表达式值为真.如果该表达式为假,就中断操作. 可以 ...
- Robotium_断言方法assert、is、search
下面的这些方法都主要用来判断测试结果是否与预期结果相符,一般把is和search方法放在assert里面判断.assert最常用的还是assertThat方法,是Junit的判断,这里就不多说了.断言 ...
- 【MFC】断言(ASSERT)的用法
摘自:Moondark http://www.cnblogs.com/moondark/archive/2012/03/12/2392315.html 断言(ASSERT)的用法 我一直以为as ...
- Swift入门(四)——可选类型(Optionals)与断言(Assert)
可选类型是什么? 首先看一个问题,Swift中String类型的变量有一个叫做toInt的方法,能够把String类型变量转换为Int类型变量. var stringValue = "5&q ...
- python断言语句assert
断言语句的格式 assert test, [msg] test是一个表达式,表达式求值为Fals时引发AssertionError异常,msg是可选的异常消息. def test_assert(a): ...
随机推荐
- 将JWT与Spring Security OAuth结合使用
1.概述 在本教程中,我们将讨论如何使用Spring Security OAuth2实现来使用JSON Web令牌. 我们还将继续构建此OAuth系列的上一篇文章. 2. Maven配置 首先,我们需 ...
- SpringBoot环境中使用MyBatis代码生成工具
一.Maven配置文件中添加如下依赖 <dependency> <groupId>org.mybatis.generator</groupId> <artif ...
- dos 删除文件夹 rd
windows普通方法删除不了文件.文件夹?那么试试dos命令吧. rd的另外一个写法是rmdir,源自ReMakeDirectory.使用的方法也很简单:rd 文件夹名 即可,例如:rd test. ...
- mysql数据库备份/恢复
备份数据库(进入Mysql bin目录下/C:\Program Files\MySQL\MySQL Server 5.6\bin)本地安装mysql数据库 备份表结构及数据 mysqldump -hl ...
- POJ Charm Bracelet 挑饰品 (常规01背包)
问题:去珠宝店抢饰品,给出饰品种数n,能带走的重量m,以及每种饰品的重量w与价值v.求能带走的最大量. 思路:常规01背包. #include <iostream> using names ...
- Codeforces 786E. ALT 最小割+倍增
E. ALT http://codeforces.com/problemset/problem/786/E 题意: 给出一棵 n 个节点的树与 m 个工人.每个工人有一条上下班路线(简单路径),一个工 ...
- SAP标准培训课程C4C10学习笔记(一)第一单元
C4C10:SAP Hybris Cloud for Customer Administration 课程目录: 第一单元是C4C的简介. 作为SAP推出的一个SaaS(Software as a s ...
- Cesium左右立体视觉续篇——遗留问题(渲染错误)以及临时替代方案
遗留问题详细说明 已解决部分 立体视觉中的视差: 横向渲染压缩. 遗留问题 1.左右分屏中的部分地图切片未渲染 问题描述:如下图(图片为解决问题后的图片),红色区域会显示黑色,无法正常显示影像.2.相 ...
- CentOS为用户增加root权限
1.修改 /etc/sudoers vi /etc/sudoers 在下边增加一行内容 root ALL=(ALL) ALLusername ALL=(ALL) ALL 2. ...
- pycharm 使用技巧
格式化代码为pep8: ctrl+alt+l http://edu.51cto.com//index.php?do=lession&id=163794