数据驱动是做自动化测试中很重要的一部分,数据源的方案也是百花八门了,比如利用外部文件,直接在@DataProvider中写死等等,我们今天介绍一下利用enum来做数据源,先来看一下enum的写法: public enum TestEnum { OK(200,"success"), FAIL(300,"fail"); private int retCode; private String msg; private TestEnum(int retCode, Strin…
数据驱动是做自动化测试中很重要的一部分,数据源的方案也是百花八门了,比如利用外部文件,直接在@DataProvider中写死等等,我们今天介绍一下利用enum来做数据源,先来看一下enum的写法: public enum TestEnum { OK(200,"success"), FAIL(300,"fail"); private int retCode; private String msg; private TestEnum(int retCode, Strin…
利用MyEclipse结合TestNG测试框架进行单元测试   by:授客 QQ:1033553122 测试环境 jdk1.8.0_121 myeclipse-10.0-offline-installer-windows.exe TestNG插件 org.testng.eclipse_6.8.6.20130607_0745 代码组织结构 代码示例 Humman.java存放了需要进行测试的类 package mypackage; public class Humman { String name…
承接上篇. 改变我们的测试驱动方式,灵活设置测试用例. 数据驱动测试 数据驱动测试的核心是: 测试数据与测试脚本分离,实现测试脚本参数化, 提高测试脚本的可重用性.在自动化功能测试中如果灵活使用数据源与测试脚本, 便能轻松创建与运行成百上千个测试用例.自动化测试框架必须要有与电子表格.文本文件.数据库集成的能力. 首先小伙伴们就会问,你要先解析Excel吧,那你肯定得给我上代码,是的,必须的上代码. package com.testapi.until; import java.io.FileIn…
一.原理: 1.做一个field注解,注解有两个参数:是否必填.toString之后的最大长度 2.对某个request类(或基类),使用注解标记某个字段的校验详情 3.通用的static方法,利用反射获取属性的值,并做校验.不通过则抛出特定的异常 二.上代码: 异常类: package com.test; /** * 基础异常 * @author zyydd * @date 2019/1/24 10:33 * @version 1.0.0 **/ public class BaseExcept…
说明:EXCEL 支持xls 和xlsx 俩种格式 : 已经过测试 ! package main.java; import org.apache.poi.ss.usermodel.*; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.List;…
testng的功能很强大,利用@DataProvider可以做数据驱动,数据源文件可以是EXCEL,XML,YAML,甚至可以是TXT文本.在这以XML为例: 备注:@DataProvider的返回值类型只能是Object[][]与Iterator<Object>[] TestData.xml: <?xml version="1.0" encoding="UTF-8"?> <data> <testmethod1> &l…
原文:http://www.jianshu.com/p/8e333a0ec42a 前两天学了一下@DataProvider,今天有时间总结一下.testng很强大,提供了很多注解,其中利用@DataProvider可以做数据驱动,数据源文件可以是EXCEL,XML,甚至可以是TXT文本.下面以读取XML为例. 通过@DataProvider读取XML文件中数据,然后测试方法只要标示获取数据来源的DataProvider,那么对应的DataProvider会把读取的数据传给该test方法,我简单的…
前言 早期我们使用TestNG 来做数据驱动进行测试,测试数据是写在测试用例脚本中.这会使得测试脚本的维护工作量很大.因此我们可以将测试的数据和脚本分开. 而我们经常使用会使用csv文件来做为导出数据时的存储文件,因此,可以通过读取 CSV文件存储数据,然后将数据传递给测试脚本进行测试.那么接下来我们将进行讲解使用csv文件做数据驱动. 使用csv做数据驱动测试 使用csv做数据驱动 创建csv数据文件 具体代码示例如下: import org.testng.annotations.DataPr…
TestNG TestNG是一个测试框架,灵感来自JUnit和NUnit.但引入了下面这些新的功能,使它更强大和更容易使用. 注解: 可在任意大的线程池运行您的测试(所有方法在它们自己的线程内,一个线程一个测试类): 灵活的测试配置: 支持数据驱动测试(@DataProvider): 支持参数: 强大的执行模型(不再使用TestSuite): 支持各种工具和插件(Eclipse,IDEA,Maven等-): 嵌入BeanShell增加进一步的灵活性: 默认使用JDK函数运行和日志记录(无依赖关系…
简介 最近忙着装修博客园,没时间更新文章,今天终于抽出时间把上次写的一半的文章给写完了,新的博客园风格,希望大家喜欢.今天继续介绍testng的相关知识--工厂. 工厂允许你动态的创建测试.例如,假设你需要创建一个测试方法,并用它来多次访问一个web页面,而且每次都带有不同的参数: @Factory注解从字面意思上来讲就是采用工厂的方法来创建测试数据并配合完成测试,其主要应对的场景是:对于某一个测试用例或方法,我们需要输入多个测试数据进行测试,并且这些测试数据可以是有一定关系(可以通过代码控制)…
一.并行性和超时 您可以指示TestNG以各种方式在单独的线程中运行测试. 可以通过在suite标签中使用 parallel 属性来让测试方法运行在不同的线程中.这个属性可以带有如下这样的值: 二.并行套件(suites) 如果您正在运行多个套件文件(例如“ java org.testng.TestNG testng1.xml testng2.xml”),并且希望每个套件在单独的线程中运行,则这个很有用.您可以使用以下命令行标志来指定线程池的大小: java org.testng.TestNG…
1.枚举(Enumeration) 枚举(The Enumeration)接口定义了一种从数据结构中取回连续元素的方式.这种传统接口已被迭代器取代,虽然Enumeration 还未被遗弃,但在现代代码中已经被很少使用了.尽管如此,它还是使用在诸如Vector和Properties这些传统类所定义的方法中,除此之外,还用在一些API类,并且在应用程序中也广泛被使用. 枚举声明了一些方法,例如hasMoreElements()和nextElement(),前一个用来测试此枚举是否包含更多的元素,后一…
1. 创建枚举类型要使用 enum 关键字,隐含了所创建的类型都是 java.lang.Enum (抽象类) 类的子类. enum AccountType { SAVING, FIXED, CURRENT; private AccountType() { System.out.println(“It is a account type”); } } 2.这段代码实际上调用了3次 Enum(String name, int ordinal),new了3次,也就执行了三次构造方法. ew Enum<…
引言 单例模式比较常见的实现方法有懒汉模式,DCL模式公有静态成员等,从Java 1.5版本起,单元素枚举实现单例模式成为最佳的方法. Java枚举 基本用法 枚举的用法比较多,本文主要旨在介绍利用枚举实现单例模式的原理,所以这里也主要介绍一些相关的基础内容. 首先,枚举类似类,一个枚举可以拥有成员变量,成员方法,构造方法.先来看枚举最基本的用法: enum Type{ A,B,C,D; } 创建enum时,编译器会自动为我们生成一个继承自java.lang.Enum的类,我们上面的enum可以…
TestNG是什么? TestNG按照官方的定义: TestNG是一个测试框架,其灵感来自JUnit和NUnit,但引入了一些新的功能,使其功能更强大,使用更方便. TestNG是一个开源自动化测试框架;TestNG表示下一代(Next Generation的首字母). TestNG类似于JUnit(特别是JUnit 4),但它不是JUnit框架的扩展.它的灵感来源于JUnit.它的目的是优于JUnit,尤其是在用于测试集成多类时. TestNG的创始人是Cedric Beust(塞德里克·博伊…
理论 TestNG,即Testing, NextGeneration,下一代测试技术,是一套根据JUnit 和NUnit思想而构建的利用注释来强化测试功能的一个测试框架,即可以用来做单元测试,也可以用来做集成测试.因为TestNG是从Junit的思想构建而来,所以TestNG具备junit等所不具备的多重功能.而且TestNG目前的使用比较广泛,google的一个selenium自动化项目组即采用的是selenium rc的java 接口+ testNG结合的方式.写一个测试通常分为三步:1.编…
1.-依赖注入 TestNG支持两种不同类型的依赖项注入:本机(由TestNG本身执行)和外部(由诸如Guice的依赖项注入框架执行). 1.1-本机依赖项注入 TestNG允许您在方法中声明其他参数.发生这种情况时,TestNG将自动用正确的值填充这些参数.依赖注入可以在以下地方使用: 任何@Before方法或@Test方法都可以声明ITestContext类型的参数.任何@AfterMethod方法都可以声明ITestResult类型的参数,该参数将反映刚刚运行的测试方法的结果.任何@Bef…
1.简介 TestNG中用到的annotation的快速预览及其属性. 2.TestNG基本注解(注释) 注解 描述 @BeforeSuite 注解的方法只运行一次,在当前suite所有测试执行之前执行 @AfterSuite 注解的方法只运行一次,在当前suite所有测试执行之后执行 @BeforeClass 注解的方法只运行一次,在当前类中所有方法调用之前执行 @AfterClass 注解的方法只运行一次,在当前类中所有方法调用之后执行 @BeforeTest 只运行一次,所有的测试方法运行…
TestNG,即Testing, NextGeneration,下一代测试技术,是一套根据JUnit 和NUnit思想而构建的利用注释来强化测试功能的一个测试框架,即可以用来做单元测试,也可以用来做集成测试. 因为TestNG是从Junit的思想构建而来,所以TestNG具备junit等所不具备的多重功能.而且TestNG目前的使用比较广泛,google的一个selenium自动化项目组即采用的是selenium rc的java 接口+ testNG结合的方式. 写一个测试通常分为三步: 1.编…
本文部分摘自 On Java 8 枚举类型 Java5 中添加了一个 enum 关键字,通过 enum 关键字,我们可以将一组拥有具名的值的有限集合创建为一种新的类型,这些具名的值可以作为常规的程序组件使用,例如: public enum Spiciness { NOT, MILD, MEDIUM, HOT, FLAMING } 这里创建了一个名为 Spiciness 的枚举类型,它有 5 个值.由于枚举类型的实例是常量,因此按照命名惯例,它们都用大写字母表示(如果名称中含有多个单词,使用下划线…
首发地址:我的网易博客 在运行一个java程序的时候,可能我们需要在运行的时候传递一些参数进去...咋办呢... java提供了一个Scanner类,利用这个类,我们可以很方便的获取键盘输入的参数... Scanner是一个基于正则表达式的文本扫描器~~可以从文件,输入流,字符串中解析出基本类型和字符串类型的值.Scanner类提供了多个构造器,不同的构造器可以接受文件,输入流,字符串作为数据源,用于从文件,输入流字符串中解析数据.(摘自<疯狂java讲义>李刚) 代码示例:   import…
java 利用spring JavaMailSenderImpl发送邮件,支持普通文本.附件.html.velocity模板 博客分类: Java Spring   本文主要介绍利用JavaMailSenderImpl发送邮件.首先介绍了发送一般邮件,然后介绍了发送富文本(html)邮件及以velocity为模板发送邮件. 邮件发送分为为三步:创建邮件发送器.编写邮件.发送邮件. Spring的JavaMailSenderImpl提供了强大的邮件发送功能,可发送普通文本邮件.带附件邮件.html…
在Java中,对Enum类型的序列化与其他对象类型的序列化有所不同,今天就来看看到底有什么不同.下面先来看下在Java中,我们定义的Enum在被编译之后是长成什么样子的. Java代码: Java代码 收藏代码 public enum FruitEnum { APPLE, ORAGE } 上面的代码定义了一个FruitEnum类型,是最简单形式的,下面我们来看看编译之后的字节码. 字节码: Java代码 收藏代码 public final class com.taobao.tianxiao.Fr…
目录    一.简介    二.默认枚举类    三.多值枚举类    四.属性和方法    五.构造函数    六.重要方法    七.引用参考 一.简介    1.枚举类代表一组常量:    2.枚举常量隐性声明为final static类型:    3.每一个枚举常量代表了一个枚举类的对象:    4.枚举类隐性实现了java.lang.Comparable接口和java.io.Serializable接口    5.枚举类可以包涵多个构造函数 二.默认枚举类    枚举类首先定义常量,其…
java利用线程池处理集合 2018年07月23日 17:21:19 衍夏成歌 阅读数:866   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/sinat_38364990/article/details/81170003 java用线程池处理集合问题 循环集合每多少条数据开启一个集合,此处每十万数据开启一个线程 public void testStr() {         List<BaseEntity> list = new Arra…
转自: https://mp.weixin.qq.com/s/8Bd8LEhiC2pu2VMcyNMGlQ 学习使用TestNG进行数据驱动测试 赵吃饭 51Testing软件测试网 前天   学习使用TestNG进行数据驱动测试 一.数据驱动测试的应用场景 在实际的测试工作中,我们经常会遇到如此场景:同样的测试操作步骤,由于多组不同的输入数据,需要执行多次测试操作.在自动化测试用例中,针对这种情况,我们可以使用TestNG中的DataProvider注解来轻松实现这种操作. 二.TestNG中…
ylbtech-Java-Runoob-高级教程-实例-方法:11. Java 实例 – enum 和 switch 语句使用 1.返回顶部 1. Java 实例 - enum 和 switch 语句使用  Java 实例 Java 创建枚举类型要使用 enum 关键字,隐含了所创建的类型都是 java.lang.Enum 类的子类 对enum进行遍历和switch的操作示例代码: Main.java 文件 enum Car { lamborghini,tata,audi,fiat,honda…
selenium webdriver testng自动化测试数据驱动 selenium webdriver testng自动化测试数据驱动 一.数据驱动测试概念 数据驱动测试是相同的测试脚本使用不同的测试数据执行,测试数据和测试行为完全分离. 二.实施数据驱动测试的步骤: 1.编写测试脚本,脚本需要支持程序对象.文件或者数据库读入测试数据. 2.将测试脚本使用的测试数据存入程序对象.文件或者数据库等外部介质中. 3.运行脚本,循环调用存储在外部介质的测试数据. 4.验证所有的测试结果是否符合期望…
Zxing是Google提供的关于条码(一维码.二维码)的解析工具,提供了二维码的生成与解析的方法,现在我简单介绍一下使用Java利用Zxing生成与解析二维码 1.二维码的生成 1.1 将Zxing-core.jar 包加入到classpath下. 1.2 二维码的生成需要借助MatrixToImageWriter类,该类是由Google提供的,可以将该类拷贝到源码中,这里我将该类的源码贴上,可以直接使用.   import com.google.zxing.common.BitMatrix;…