自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

原创 TestNG源码分析07-初始化03

TestNG初始化initializeConfigurationaddServiceLoaderListenersaddListeners(XmlSuite s)addMethodSelectorinitializeConfiguration我们知道TestNG先执行了初始化,即执行了initializeEverything方法,这个方法内部有6个小方法,前面两节我们已经讲完了 initializeSuitesAndJarFile 方法,现在我们开始讲说下第二个方法initializeConfigura

2020-09-05 17:07:05 201

原创 TestNG源码分析08-初始化04

TestNG初始化initializeDefaultListenersinitializeDefaultListeners现在我们开始讲说下第三个方法initializeDefaultListeners,这个方法主要是添加TestNG默认监听器private void initializeDefaultListeners() { /** * 调用上个文章讲到的addListener * exitCodeListener 实现了 ITestListener, IReporter */

2020-09-05 16:36:53 121

原创 TestNG源码分析06-初始化02

初始化解析xmlgetParser上节内容我们知道 TstNG 是通过 IFileParser 这个类解析xml 代码如下//获取 IFileParser 实例 默认是 SuiteXmlParserIFileParser<XmlSuite> fileParser = getParser(currentFile);//解析文件生成 XmlSuite XmlSuite currentXmlSuite = fileParser.parse(currentFile, inputStream

2020-09-01 09:15:33 274

原创 TestNG源码分析05-初始化01

TestNG初始化initializeEverythinginitializeSuitesAndJarFileparseSuiteParser.parseinitializeEverything从上面文章我们知道TestNG先执行了初始化,即执行了initializeEverything方法,上代码/** Invoked by the remote runner. */ public void initializeEverything() { // The Eclipse plug-in

2020-08-25 00:01:43 276

原创 TestNG源码分析04-RUN

TestNG运行runrun从前面的文章我们可以知道TestNG无论是从IDEA插件还是main方法最终都会调用org.testng.TestNG#run方法,所以我们这次就从run方法开始入手,看看内部到底发生了什么。先上代码/** Run TestNG. */ public void run() { initializeEverything(); sanityCheck(); runExecutionListeners(true /* start */);

2020-08-19 21:44:55 227

原创 TestNG源码分析03-IDEA插件

IDEA插件启动插件运行插件调用RemoteTestNGStarterIDEARemoteTestNG插件运行一般我们使用IDEA执行测试都是通过如下图的方式直接点击第5行绿色按钮运行整个测试类,如果有多个测试 方法则都会运行直接点击第8行绿色按钮运行某个具体方法这一点我们也可以通过IDEA的Run/Debug Configurations可以看到区别,如果我们通过第一种方式运行,Configuration下的TestKind为Class,如果通过第二种方式运行,Configuration下

2020-08-01 09:03:50 525

原创 TestNG源码分析02-启动

启动初识TestNG初识TestNGTestNG框架的核心类就是org.testng.TestNG这个类,从类的注释中我们可以很清楚的了解到如下内容:This class is the main entry point for running tests in the TestNG framework. Users can create their own TestNG object and invoke it in many different ways:On an existing testng

2020-07-30 21:50:04 269

原创 TestNG源码分析01-介绍

TestNG背景介绍背景目前大部分博客都是介绍TestNG这个框架如何使用,源码相关的东西很少,抱着学习的态度,想了解其中的奥秘,只能自己动手研究。本系列文章只做参考,如有问题,各位看官请多多指正,本人不胜感激介绍本文不再介绍如何使用TestNG,请自行搜索官网: 官方文档 使用版本号参考下方Maven依赖<dependency> <groupId>org.testng</groupId> <artifactId>testng</art

2020-07-26 11:04:03 104

原创 使用bytebuddy实现接口

bytebuddy依赖接口代码依赖<dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> <version>1.10.2</version> </dependency&gt...

2019-11-27 21:54:38 451

原创 使用ASM实现接口

字节码依赖ASMjavaassist依赖 <!-- <dependency> <groupId>org.ow2.asm</groupId> <artifactId>asm-all</artifactId> <version>5.2</version> &...

2019-09-24 15:46:21 244

原创 使用javaassist实现接口

javaassist依赖代码依赖<dependency> <groupId>org.javassist</groupId> <artifactId>javassist</artifactId> <version>3.25.0-GA</version></dependency>...

2019-09-24 15:40:26 169

原创 并发编程--线程协作

线程协作等待与通知超时等待对象方法对锁的影响等待与通知/** * 模拟人听到口令才能吃饭喝水, * 没有收到指令前会一直等待 */public class Person { private boolean eat = false; private boolean drink = false; public synchronized void waitEat...

2019-09-19 20:35:27 51

原创 并发编程--ThreadLocal

ThreadLocalThreadLocal类图ThreadLocalget()set()removeThreadLocalMap类图ThreadLocalMap构造函数set()上节我们简单使用过ThreadLocal,本节我们讨论ThreadLocal实现的原理,如何做到每个线程有一份属于自己的数据备份ThreadLocal类图从类图我们可以很清楚的看到 ThreadLocal 的内部...

2019-09-19 14:52:18 79

原创 并发编程--线程共享

线程共享线程不安全synchronized内置锁volatile关键字ThreadLocal线程不安全public class ThreadNoSyncTest implements Runnable { private int ticket = 100; @Override public void run() { buy(); } // 线...

2019-09-18 15:22:54 63

原创 并发编程--并发基础

并发基础Java线程Java线程启动 Java线程的有3种实现方式,还有一部分文章说使用线程池,此处不讨论这种情况继续 Thread 类实现 Runnable 接口实现 Callable 接口import java.util.concurrent.Callable;import java.util.concurrent.FutureTask;public class Thr...

2019-09-18 14:14:04 75

原创 Python基础教程学习-文件

特性标准库文件打开文件文件基本方法迭代文件内容标准库此处不详细讲解 参考PDF第10章文件文件和流打开文件如果当前目录中有一个名为somefile.txt的文本文件(可能是使用文本编辑器创建的),则可像下面这样打开它:>>> f = open('somefile.txt','r')第二个参数代表打开文件模式,默认模式为rt,具体模式如下文件基本方法读...

2019-09-16 10:13:24 150

原创 Python基础教程学习-特性

特性特性构造函数元素访问property&类方法&静态方法__getattr__ 、 __setattr__ 等方法迭代器生成器特性Python使用异常对象来表示异常状态,并在遇到错误时引发异常构造函数重写构造函数,要调用父类构造方法class Bird: def __init__(self): self.hungry = True def eat(self):...

2019-09-16 10:13:15 133

原创 Python基础教程学习-异常

异常异常自定义异常捕获异常异常Python使用异常对象来表示异常状态,并在遇到错误时引发异常自定义异常class SomeCustomException(Exception): pass捕获异常try: 1 / 0except NameError: print("Unknown variable")else: print("That went well!")final...

2019-09-16 10:13:01 77

原创 Python基础教程学习-函数与类

函数与类函数定义函数函数参数函数函数执行特定的操作并返回一个值,你可以调用它 调用时可能需要提供一些参数——放在圆括号中的内容定义函数def hello(name): return 'Hello, ' + name + '!'>>> print(hello('world'))Hello, world!def square(x): 'Calculates the...

2019-09-16 10:12:47 128

原创 Python基础教程学习-语句

字典语句print 与 import赋值条件语句循环whilefor迭代工具跳出循环简单推导语句一种可通过名称来访问其各个值的数据结构。这种数据结构称为映射(mapping)。字典是Python中唯一的内置映射类型,其中的值不按顺序排列,而是存储在键下。键可能是数、字符串或元组。print 与 import你可同时打印多个表达式,条件是用逗号分隔它们:>>> prin...

2019-09-16 10:11:35 118

原创 Python基础教程学习-字典

字典字典创建字典基本字典操作字典方法字典一种可通过名称来访问其各个值的数据结构。这种数据结构称为映射(mapping)。字典是Python中唯一的内置映射类型,其中的值不按顺序排列,而是存储在键下。键可能是数、字符串或元组。创建字典# 字典以类似于下面的方式表示:phonebook = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}...

2019-09-16 10:11:23 85

原创 Python基础教程学习-列表和元组

Python基础学习-列表和元组列表和元组列表和元组在Python中,最基本的数据结构为序列(sequence)序列中的每个元素都有编号,即其位置或索引,其中第一个元素的索引为0,第二个元素的索引为1,依此类推Python内置了多种序列,本章重点讨论其中最常用的两种:列表和元组。另一种重要的序列是字符串...

2019-09-16 10:11:08 130

原创 Python基础教程学习-字符串

列表和元组字符串字符串格式字符串方法字符串所有标准序列操作(索引、切片、乘法、成员资格检查、长度、最小值和最大值)都适用于字符串,但别忘了字符串是不可变的,因此所有的元素赋值和切片赋值都是非法的>>> website = 'http://www.python.org'>>> website[-3:] = 'com'Traceback (most rec...

2019-09-16 10:10:14 141

原创 Python基础教程学习-基础知识

Python基础学习简介安装基础知识数和表达式变量简介官方宣传说:Python是一种面向对象的解释性高级编程语言,具有动态语义安装略过,自行百度基础知识数和表达式 1. 除法运算的结果为小数,即浮点数 1/2 #0.5 2. 如果你想丢弃小数部分,即执行整除运算,可使用双斜杠 1//2 #0 3. 求余(求模)运算符 % 1%2 #1变量使用Pytho...

2019-09-16 10:08:26 101

网上书城测试计划

软件测试前期测试计划的编写模版,关于网上书城的测试计划

2014-10-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除