此文主要讲述用 TestNG 基础的 annotation (注解)知识,及其执行的顺序,并通过一个 TestNG 简单的实例演示 annotation 的执行顺序. 希望能对初学 TestNG 测试框架的亲们有所帮助.若有不足之处,敬请大神指正,不胜感激! 言归正传,以下为 TestNG 常用的 annotation 及其释义,敬请参阅. @BeforeSuite:被此注解的方法将在所有测试运行之前运行该方法. @AfterSuite: 被此注解的方法将在所有测试运行之后运行该方法. @Bef…
package cn.xiaocangtian.Exception; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; public class TestException3 { public static void main(String[] args) { String str = new TestException3().openFile();…
Jmeter可以通过鼠标拖拽来随意改变元件之间的顺序以及元件的层级关系,随着元件所在域的不同,在执行时候,会有不同效果 层级关系和元件类型决定了在测试计划中各元件的执行顺序. 1)元件的作用域: jmeter有八种可执行的元件,测试计划和线程组不算元件. 其中取样器(sampler)是不与其他元件发生交互的.所以不存在作用域. 逻辑控制器(Logic Controller):只对其子节点下的取样器和逻辑控制器起作用 剩下的六个元件,配置元件(Config Elements).前置处理器(Pre-…
1.元件的作用域 JMeter中共有8类可被执行的元件(测试计划与线程组不属于元件),这些元件中,取样器是典型的不与其它元件发生交互作用的元件,逻辑控制器只对其子节点的取样器有效,而其它元件(config elements .timers .post-processors.assertions.listeners.)需要与取样器(sampler)等元件交互. 1)采样器 采样器告诉JMeter发送一个请求到指定服务器,并等待服务器的请求.采样器会按照其在测试树中的顺序去执行,还可以用逻辑控制器来…
这里是一份TestNG中的可用注解及其属性的概述. 一.用于一个TestNG类的信息配置的注解: @BeforeSuite:被BeforeSuite注解的方法将在其所在suite中的所有test运行之前执行: 注:例如BeforeSuite方法在Class1中,test1方法在Class1中,test2方法在Class2中,Class2在testng中优先级较高,则执行顺序BeforeSuite->test2->test1 @AfterSuite:被AfterSuite注解的方法将在其所在su…
1. 单类,无继承父子关系 code: public class basicTest { @BeforeSuite(alwaysRun = true) public void beforeSuite_basicTest() throws InterruptedException { System.out.println("beforeSuite_basicTest"); Thread.sleep(1000); } @AfterSuite(alwaysRun = true) public…
在maven项目的pom.xml文件中导入TestNG <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ma…
TestSuite处理测试用例有6个规约(否则会被拒绝执行测试) A 测试用例必须是公有类(Public) B 测试用例必须继承与TestCase类 C 测试用例的测试方法必须是公有的( Public ) D 测试用例的测试方法必须被声明为Void E 测试用例中测试方法的前置名词必须是test F 测试用例中测试方法误任何传递参数 执行TestNg有几种方式:命令行.Eclipse/IntelliJ.ant等.第一种: 直接执行,右键要执行的方法,点Run As ->TestNG Test第二…
一.概述      Spring Boot设计目的是用来简化新Spring应用的初始搭建以及开发过程.Spring Boot并不是对Spring功能上的增强,而是提供了一种快速使用Spring的方式. 二.特性 ①创建独立的Spring应用程序 ②嵌入的Tomcat,无需部署WAR文件 ③简化Maven配置 ④自动配置Spring ⑤提供生产就绪型功能,如指标,健康检查和外部配置 ⑥开箱即用,没有代码生成,也无需XML配置. 三.注解说明 @SpringBootApplication      …
此 文主要讲述用 TestNG 的基础理论知识,TestNG 的特定,编写测试过程三步骤,与 JUnit4+ 的差异,以此使亲对 TestNG 测试框架能够有一个简单的认知. 希望能对初学 TestNG 测试框架的亲们有所帮助.若有不足之处,敬请大神指正,不胜感激! TestNG是什么?TestNG是一个灵感来自于 JUnit 和 NUnit 的一个设计用来简化广泛的测试需求的开源自动化测试框架,其引入了一些新的功能,使其功能更强大,而且易于使用,但是 TestNG 不是 JUnit 的扩展.它…
[转]MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作 上一篇博文MyBatis学习总结(一)——MyBatis快速入门中我们讲了如何使用Mybatis查询users表中的数据,算是对MyBatis有一个初步的入门了,今天讲解一下如何使用MyBatis对users表执行CRUD操作.本文中使用到的测试环境是上一篇博文中的测试环境. 一.使用MyBatis对表执行CRUD操作——基于XML的实现 1.定义sql映射xml文件 userMapper.xml文件的内容如下: <?…
springmvc学习笔记(常用注解) 1. @Controller @Controller注解用于表示一个类的实例是页面控制器(后面都将称为控制器). 使用@Controller注解定义的控制器有如下特点: 不需要继承任何类, 也不需要实现任何接口 可以处理多个请求 可以使用Servlet的相关特性 spring自动扫描所有基于注解的类, 并将其注册为spring的bean, DispatcherServlet自动扫描注解为@Controller的类, 查找其中使用了@RequestMappi…
NLP&深度学习:近期趋势概述 摘要:当NLP遇上深度学习,到底发生了什么样的变化呢? 在最近发表的论文中,Young及其同事汇总了基于深度学习的自然语言处理(NLP)系统和应用程序的一些最新趋势.本文的重点介绍是对各种NLP任务(如视觉问答(QA)和机器翻译)最新技术(SOTA)结果的回顾和比较.在这篇全面的综述中,你可以详细了解NLP深度学习的过去,现在和未来.此外,你还将学习一些 在NLP中应用深度学习的最佳实践.其中主题包括: 1.分布式表示的兴起(例如,word2vec): 2.卷积,…
既然是讨论执行顺序问题,那么用例肯定是批量执行的,批量执行的方法有mvn test.直接运行testng.xml文件,其中直接运行testng.xml文件的效果与pom文件中配置执行testng.xml效果是一样,所以本次只讨论mvn test 批量运行方式 一.用例准备 1. 测试用例 编写一些测试用例,单纯为了测试,内容只进行输入,没有任何逻辑. public class FirstTest { @Test public void testFirst(){ System.err.printl…
<Java编程思想>学习笔记(二)--类加载及执行顺序 (这是很久之前写的,保存在印象笔记上,今天写在博客上.) 今天看Java编程思想,看到这样一道代码 //: OrderOfInitialization.java // Demonstrates initialization order. // When the constructor is called, to create a // Tag object, you'll see a message: class Tag { Tag(in…
Android Testing学习02 HelloTesting 项目建立与执行 Android测试,分为待测试的项目和测试项目,这两个项目会生成两个独立的apk,但是内部,它们会共享同一个进程. 下面,新建一个Android待测试的项目,即普通的Android工程,这里起名为:MainProject: 新建测试工程 再建一个测试项目,叫MainProjectTest,对MainProject进行测试. 可以直接右键New->Project…->Android Test Project: 项目…
在java类中,设置Test的执行顺序可以使用priority,或者enabled等属性.但是在testng.xml中,需要设置它的 preserve-order="true" 另外值得注意的是,这个属性可以在suite和test中使用. 以下是概要: 1. 在suite中使用的话,它控制各个test的执行顺序,例如我把发送测试结果邮件放到最后面执行. 2. 在test中使用的话,它控制各个class的执行顺序. 3. 在class中使用priority/enable/dependsO…
如果很有个测试方法,并且这几个方法又有先后顺序,那么如果让TestNG按照自己想要的方法执行呢 一.通过Dependencies 1.在测试类中添加Dependencies @Test public void test1() { System.out.println("this is test1"); } @Test(dependsOnMethods = { "test1" }) public void test2() { System.out.println(&q…
本文将对 JMeter 主要组件(主要涉及 Threads(Users).Test Fragment.逻辑控制器.配置元件.定时器.前置处理器.Sampler.后置处理器.断言.监听器 十大组件)进行概要介绍,详细使用方法会在后续文章中陆续介绍,敬请惠顾参阅.组件如下所示: 零.测试计划 测试计划是测试的起点,同时也是其他所有组件的容器. 一.Threads(Users)-线程组 每个测试需求的必备组件,是用来模拟用户并发的组件.JMeter 的每个任务都是用线程来处理的.线程组界面如下所示:…
OGG学习笔记01-基础概述 OGG(Oracle Golden Gate),最近几年在数据同步.容灾领域特别火,甚至比Oracle自己的原生产品DataGuard还要风光,主要是因为其跨平台.跨数据库.跨版本的强大特性. OGG理论概念 我们可以搜索到网上对它的简单介绍: Oracle Golden Gate软件是一种基于日志的结构化数据复制备份软件,它通过解析源数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库同步. Oracle Gold…
@RequestMappingde的用法 摘要: 主要介绍注解@RequestMapping的用法 一.@RequestMapping 简介 在Spring MVC 中使用 @RequestMapping 来映射请求,也就是通过它来指定控制器可以处理哪些URL请求,相当于Servlet中在web.xml中配置 <servlet> <servlet-name>servletName</servlet-name> <servlet-class>ServletCl…
1.preserve-order属性,之前一直认为preserve-order属性是控制配置方法的执行顺序的,其实不是,preserve-order主要是控制test下节点classes执行顺序的 例如: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite na…
目录如下: TestGroup.java 代码如下: package com.testng.cn; import org.testng.annotations.*; import static org.testng.Assert.assertEquals; public class TestGroup { @Test(groups={"高", "正常"}) public void testCase1(){ assertEquals(2+2, 4); } @Test(…
断言是编写测试用例的核心实现方式,即期望值是多少,测试的结果是多少,以此来判断测试是否通过. 断言核心方法 assertArrayEquals(expecteds, actuals) 查看两个数组是否相等. assertEquals(expected, actual) 查看两个对象是否相等.类似于字符串比较使用的equals()方法 assertNotEquals(first, second) 查看两个对象是否不相等. assertNull(object) 查看对象是否为空. assertNot…
近日学习Netty,在看书和实践的时候对于书上只言片语的那些话不是十分懂,导致尝试写例子的时候遭遇各种不顺,比如decoder和encoder还有HttpObjectAggregator的添加顺序,研究了一番之后和大家分享一下自己的理解,希望后来人可以少走弯路. 模型浅析 简单描述下ChannelHandler的存储模型,ChannelHandler在ChannelPipeline中主要以AbstractChannelHandlerContext为基类存储,存储的数据结构为链表,传进去的Chan…
前言 相信小伙伴一定用过 @Transaction 注解,那 @Transaction 背后的秘密又知道多少呢? Spring 是如何开启事务的?又是如何进行提交事务和关闭事务的呢? 画图猜测 在开始 debug 阅读源码之前,小伙伴们应该已经知道 MySQL 是如何开启事务的. 因此可以得出猜测: 那下面跟着源码一起读一读,Spring 的 @Transaction 注解是如何执行事务逻辑的? Spring 事务执行流程 开启事务 这里使用的是 Spring Boot + MySQL + Dr…
我们在写JUnit测试用例时,有时候需要按照定义顺序执行我们的单元测试方法,比如如在测试数据库相关的用例时候要按照测试插入.查询.删除的顺序测试.如果不按照这个顺序测试可能会出现问题,比如删除方法在前面执行,后面的方法就都不能通过测试,因为数据已经被清空了.而JUnit测试时默认的顺序是随机的.所以这时就需要有办法要求JUnit在执行测试方法时按照我们指定的顺序来执行.JUnit是通过@FixMethodOrder注解(annotation)来控制测试方法的执行顺序的. JUnit是通过@Fix…
1.元件的作用域 JMeter中共有8类可被执行的元件(测试计划与线程组不属于元件),这些元件中,取样器是典型的不与其它元件发生交互作用的元件,逻辑控制器只对其子节点的取样器有效,而其它元件(config elements .timers .post-processors.assertions.listeners.)需要与取样器(sampler)等元件交互. 配置元件(config elements ) 元件会影响其作用范围内的所有元件. 前置处理程序(Per-processors) 元件在其作…
一.defer和async 我们常用的script标签,有两个和性能.js文件下载执行顺序相关的属性:defer和async defer的含义[摘自https://developer.mozilla.org/En/HTML/Element/Script]——This Boolean attribute is set to indicate to a browser that the script is meant to be executed after the document has bee…
http://blog.csdn.net/u013252773/article/details/21195593 Handler在netty中,无疑占据着非常重要的地位.Handler与Servlet中的filter很像,通过Handler可以完成通讯报文的解码编码.拦截指定的报文.统一对日志错误进行处理.统一对请求进行计数.控制Handler执行与否.一句话,没有它做不到的只有你想不到的. Netty中的所有handler都实现自ChannelHandler接口.按照输出输出来分,分为Chan…