自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(169)
  • 问答 (1)
  • 收藏
  • 关注

转载 [Jmeter并发报错解决方案]org.apache.http.NoHttpResponseException: 10.0.4.147:8000 failed to respond...

1、Jmeter进行高并发,第一个接口成功,第二个失败,第三个又成功,第四个失败。。。依次类推,保持50%的失败率,失败报错如下:org.apache.http.NoHttpResponseException: **.**.**.***:***** failed to respondat org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:141)at org.ap

2020-10-15 15:44:46 1539 1

转载 使用JDBC 获取相关的数据

转载:https://www.cnblogs.com/primadonna/p/10470472.html什么是JDBCJava Database Connectivity 是一种用于执行SQL语句的Java API,与数据库建立连接、发送 操作数据库的语句并处理结果。Spring Boot 使用 JDBC增加依赖修改pom.xml:将dependecies 修改为如下两个 <dependencies> <dependency> .

2020-09-03 10:03:57 229

原创 Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException。。

启动springboot的时候报错:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'druidDataSourceConfig': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeh

2020-09-02 17:59:01 6498

原创 Jmeter压力测试笔记--线程组(十五)

1.串行执行多个线程组场景:执行thread group的前要做一些前置处理就可以用setUp thread group,执行thread group的以后要做一些清数据等操作的时候就可以用tearDown thread group具体步骤:添加setUp Thread Group,可以在这里添加JDBC request等,做一些初始化数据或者放一些全局变量等操作 添加Thread Group,添加要测试的http接口等等 添加tearDown Thread Group,...

2020-08-31 09:52:14 848

原创 IntelliJ Idea 解决 Could not autowire. No beans of 'xxxx' type found 的错误提示

如果出现了该错误但并不影响运行的话,则原因可能是Intellij IDEA 工具本身的问题。IDEA 可以理解 Spring 的上下文,这个是因为 它是 MyBatis 的接口,不认识。解决方法:降低Autowired检测的级别,将Severity的级别由之前的error改成warning或其它可以忽略的级别。...

2020-02-18 16:45:55 682

原创 冒牌排序及二分查找法

冒泡排序 /** * 冒泡排序,,从小到大 * * @param a * @return */ public int[] sort(int a[]) { if (a == null) { throw new RuntimeException("入参错误"); } else...

2020-02-16 19:43:14 160

原创 content-type简介

!!

2020-02-11 18:27:42 165

原创 遍历map及List集合的方法

import com.xinji.dto.UserDTO;import java.util.ArrayList;import java.util.Iterator;/** * @Author:ella on 2020/1/15. */public class TestInterator { //遍历List集合的方法 //1.foreach方法 pub...

2020-01-15 18:38:15 379

原创 Java300集(十)继承

继承子类继承父类,可以得到父类的所有属性和方法(除父类的构造方法)java中的类只有单继承,没有多继承,一个类只能有一个直接父类,利于维护类的关系关键字:extends方法重写:override在子类中可以根据需要把基类中的方法进行重写重写方法必须要和被重写方法具有相同方法名,参数列表和返回类型。public class Anamal { String nam...

2020-01-07 22:14:30 138

原创 使用IDEA导出jar

1、File->Project Struct,选择Artifacts2、创建build点击+,选择JAR,选择From modules... 选择Module,选择要打包的项目 选择Main Class,选择项目入口类 选择JAR files from libraries,不选择extract to the target JAR,而是选择 copy to the outp...

2020-01-07 11:35:49 451

原创 Java300集(九)static与this

static方法/变量在类中,用static声明的成员变量为静态变量,或者叫做,类属性,类变量。它为该类的公用变量,属于类,被该类的所有实例使用。对象可以调用static变量或方法,但是static方法不能调用非static变量及方法。用static声明的方法为静态方法,不需要对象就可以调用,通过(类名.方法名)调用。package com.shangxuetang.chap...

2020-01-07 00:15:28 126

原创 Java300集(八)构造方法

构造方法 又称为构造器,construtor构造方法用于构造该类的实例格式如下:【修饰符】类名 (形参列表){ //n条语句}是一种特殊的方法:通过new关键字调用 构造方法虽然有返回值,但是不用定义返回类型(返回值的类型肯定是本类),不能在构造方法中调用return。 如果我们没有定义构造方法,则系统会自动定义一个无参的构造函数。如果已经定义则编译器...

2020-01-05 17:55:24 110

原创 Java300集(七)类和对象的关系

面向对象编程(OOP)的本质:---以类的方式组织代码,以对象的方法组织(封装)数据。面向对象思维:OOA(面向对象分析),OOD(面向对象设计)对象:是具体的事物类:是对对象的抽象先有具体的对象,然后抽象各个对象之间象的部分,归纳出类,通过类再认识其他对象。成员变量和局部变量成员变量不需要手动初始化,但是局部变量需要手动初始化程序运行的内存分析:栈:自动分...

2020-01-04 18:49:06 154 1

原创 Java300集(六)递归方法

方法设计方法原则:方法的本意是功能块,就是实现某个功能的语句块的集合。设计方法的时候最高保持方法的原子性,就是一个方法只完成一个功能,利于后期的扩展。package com.shangxuetang.chapter7;public class TestBreakContinue { public static void main(String[] args) { ...

2020-01-02 22:59:51 116

原创 Java300集(五)for循环与continue及break语句

public class TestExcellent { public static void main(String[] args) { //用for循环分别计算100以内的奇数和偶数和 int jishuSum = 0; int oushuSum = 0; for (int i = 0; i <= 100; i++...

2020-01-01 22:33:03 150

原创 Java300集(五)控制语句

顺序结构选择结构单选择结构 1.if单选择结构双选择结构 if-else双选择结构多选择结构 if-else if -else多选择结构 switch多值选择结构(要注意case穿透问题,一般在每一个case都要就break语句)循环结构while循环语句:先判断在执行DoWhile循环语句:先执行再判...

2019-12-31 22:40:34 69

原创 Java300集(四)变量与运算符

Java变量是程序中最基本的存储单元,其要是包括变量名,变量类型和作用域。变量在使用前必须对其声明,只有在变量声明以后,才能为其分配相应长度的存储单元。变量类型可以是基本数据类型,也可以是是引用类型package com.shangxuetang.chapter7;public class TestVariable { public static void main(St...

2019-12-30 23:35:28 94

原创 Java300集(三)自动类型转换与强制类型转换

自动类型转换:容量小的数据类型可以自动转化为容量大的数据类型(容量值得是表述范围)特例:可以将整形常量(int)直接赋值给byte,short,char等类型变量,不需要进行强制类型转换,只要不超出其表述范围。在上图中黑色实线表示无数据丢失的自动类型转换,红色虚线则表示在转换时可能会丢失精度强制类型转换:又被称为造型,用于显示的转换一个数值的类型。在有可能丢失信息的情况下进...

2019-12-29 22:10:06 201

原创 Java300集(二)java基本数据类型

Java是一种强类型语言,每个变量都必须声明其类型。数值型各类型范围:整数类型:public class TestDataType { public static void main(String[] args) { //浮点数常量默认类型是double //整数的另外三种表现形式: int a = 10; ...

2019-12-28 22:24:12 131

原创 Java300集(一)jdk介绍及安装

JDK java开发工具包JRE java运行环境JVM java虚拟机三者是包含的关系,jdk包含jre,jre包含jvm,如下图:java最大的优势: 跨平台,通过JVM实现(JVM是一种规范,可以使用软件来实现,也可以通过硬件来实现)下载jdk1.8及配置环境变量(path及classpath) ...

2019-12-27 07:38:16 269

原创 TestNG源码解读(二十五)

上一篇中看到了addFailedInvocationNumber方法在invokeMethod方法中会被调用,现在继续走查,一层层分析。首先梳理一下各方法之间的调用关系:从上图可以看出,addFailedInvocationNumber方法在执行method方法或者重复执行失败用例中会被调用,也就是说在执行xml文件中一层层下来的时候若xml文件中的method的参数是从data p...

2019-11-21 07:54:35 269

原创 TestNG源码解读(二十四)

今天主要看一下,testng-failed.xml文件中的<include>标签中的 invocation-numbers代表什么意思及使用方法?invocation-numbers:失败的调用号,即失败的执行次数,仅在使用dataProvider的时候才会有<methods> <include name="test100" invocation-nu...

2019-11-20 09:31:17 274

原创 TestNG源码解读(二十三)

接着上一篇继续走查整个xml文件生成的过程1.在FailedReporter.java中的方法generateFailureSuite最后是生成xml文件,这里的三个入参分别是输出路径,文件名,及SuiteXml if(null != failedSuite.getTests() && failedSuite.getTests().size() > 0) { ...

2019-11-18 07:36:23 166

原创 TestNG源码解读(二十二)

失败的xml文件(failed-testng.xml)中使用<include>标签包含失败的用例,写法如下: <classes> <class name="com.jmeter.demo.DemoApplicationTests"> <methods> <include name="c...

2019-11-17 08:41:28 181

原创 TestNG源码解读(二十一)

前面把FailedReporter类中主要代码走查了一遍,现在梳理一下该类的类关系图及方法间的调用关系图,时序图等1.类关系图:通过类关系图可以看出生成failedTestng.xml文件就是通过各种监听器拿到执行用例的各种结果,然后整合成一份失败用例的xml文件2.generateReport方法的向下调用关系图,该类中的这些方法也都大概走读了一遍,整体逻辑就是:生成xml报...

2019-11-16 08:35:56 196

原创 TestNG源码解读(二十)

今天继续读testng源码--FailedReporter.java类--生成失败的xml文件(testng-failed.xml)6. 设置失败的classes List<XmlClass> xmlClasses = createXmlClasses(methods, srcXmlTest); xmlTest.setXmlClasses(xmlClasses);6.1...

2019-11-15 23:59:57 218

原创 TestNG源码解读(十九)

今天继续读testng源码--FailedReporter.java类--生成失败的xml文件(testng-failed.xml)5.createXmlTest(context, result, xmlTest),这个方法主要就是生成testng-failed.xml文件具体代码如下: /** * Generate testng-failed.xml */ pri...

2019-11-14 09:50:46 290

原创 TestNG源码解读(十八)

今天继续读testng源码--FailedReporter.java类--生成失败的xml文件(testng-failed.xml)4. 生成失败和skip的test xml generateXmlTest(suite, xmlTests.get(testContext.getName()), tes...

2019-11-12 22:08:52 285

原创 TestNG源码解读(十七)

今天继续读testng源码--FailedReporter.java类--生成失败的xml文件(testng-failed.xml)1.构造方法 //无参构造器 public FailedReporter() { } //有参构造器 public FailedReporter(XmlSuite xmlSuite) { m_xmlSuite = xmlSuite...

2019-11-11 23:21:35 245

原创 TestNG源码解读(十六)

继上篇继续分析执行用例方法execute()(这个方法是java.util.concurrent.ThreadPoolExecutor类中的方法);该方法中分为三个步骤且每个步骤都会调用addWorker()方法,那么现在具体看一下addWorker方法做了哪些工作?首先看了该方法的注释,整体意思就是先检查当前状态是否可以添加worker如果可以的化则添加并运行firstTask,否则如果当前线程...

2019-11-10 22:06:27 166

原创 TestNG源码解读(十五)

前一篇我看到了创建GraphThreadPoolExecutor多线程池执行器后,会执行run方法,今天继续看如何进行多线程并发执行用例。 //对于同步代码块,就得指定锁对象m_graph public void run() { synchronized(m_graph) { if (DOT_FILES) { m_dotFiles.add(m_gra...

2019-11-09 22:00:26 277

原创 TestNG源码解读(十四)

把之前看的源码的调用关系再次整理一份,加深印象的同时荣古一下各个方法之前的调用关系

2019-11-08 22:23:40 243

原创 TestNG源码解读(十三)

前面看到了TestRunner类中的privateRun方法,该方法中主要是根据配置决定走并发执行用例还是串行执行用例。因为我在测试过程中回归的时候一般都是并发执行testng.xml,所以今天先研究一下并发执行的具体过程,并发执行的代码如下,现在一行行的分析 if (parallel) { if (graph.getNodeCount() > 0) { ...

2019-11-07 22:26:39 215

原创 TestNG源码解读(十二)

继上篇6.4 执行用例之前看到了suiteRunner.runTest方法的具体内容就是执行每一个<test>用例然后将执行结果put到m_suiteResults中,那么每一个xml文件中的<test>标签里的用例是怎么执行的呢?具体来看一看,它是调用TestRunner.run方法,run方法主要工作:1.调用配置方法, 2.调用测试方法,3.捕获异常,4.收集结果...

2019-11-06 10:10:36 348

原创 TestNG源码解读(十一)

总结回归之前看的testng源码方法调用关系图:

2019-11-04 21:56:21 268

原创 TestNG源码解读(十)

继上边6.4 执行用例上一篇讲到了runSuitesSequentially这个方法会去调用SuiteRunnerWorker.run方法,那么run方法的具体实现又是什么样的呢?走读本段代码后发现run方法中又继续调用了runSuite方法,该方法主要作用:执行suite然后将结果存到suiteRunnerMap中。执行suite的方法则是调用suiteRunner.run()方法...

2019-11-03 07:28:27 325

原创 TestNG源码解读(九)

6.4 执行用例查看常规模式regular mode的执行过程:suiteRunners = runSuitesLocally();1.首先就是判断suite的个数是否大于0,只有不为空的时候才会进行用例等一系列操作,否则报错"No test suite found. Nothing to run"2.然后判断第一个suite的berbose的级别是否大于2,如果大于2则在控制台...

2019-11-02 16:48:30 374

原创 TestNG源码解读(八)

6.3执行监听器-IExecutionListener*开始与结束 runExecutionListeners(true /* start */); runExecutionListeners(false /* finish */);//遍历listenersList如果start是true则执行onExecutionStart启动操作,否则执行finish操作priv...

2019-11-01 10:11:45 739

原创 TestNG源码解读(七)

6.2必要条件检查sanityCheck();1.在执行suites之前确保所有需要的条件都已经准备好。如果没有则抛错停止运行 /** * Before suites are executed, do a sanity check to ensure all required * conditions are met. If not, throw an excepti...

2019-10-30 20:40:50 441

原创 TestNG源码解读(六)

6.1 执行run方法的一系列操作之初始化 initializeConfiguration(); initializeDefaultListeners(); initializeCommandLineSuites(); initializeCommandLineSuitesParams(); initializeCommandLineSuitesGroups();1.初始化配置...

2019-10-29 19:34:48 343

空空如也

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

TA关注的人

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