<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[jffhy2017的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/jffhy2017</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; jffhy2017]]></copyright><item><title><![CDATA[jp@gc - UItimate Thread Goup]]></title><link>https://blog.csdn.net/jffhy2017/article/details/112475068</link><guid>https://blog.csdn.net/jffhy2017/article/details/112475068</guid><author>jffhy2017</author><pubDate>Mon, 11 Jan 2021 16:31:07 +0800</pubDate><description><![CDATA[https://www.cnblogs.com/zhangyqn/p/11812368.html
]]></description><category></category></item><item><title><![CDATA[redis参数传递]]></title><link>https://blog.csdn.net/jffhy2017/article/details/112472317</link><guid>https://blog.csdn.net/jffhy2017/article/details/112472317</guid><author>jffhy2017</author><pubDate>Mon, 11 Jan 2021 16:12:04 +0800</pubDate><description><![CDATA[为什么要使用redis参数传递？

真实场景中，并发用户比较大，如5w个用户，若都是用CSV文件时特别大得，会一次性得加载到jmeter得内存中，这时jmeter可能就会扛不住或者set一个很大得内存空间，所以再真正分布式得时候一些特别大得文件会存放到redis中；但肯定会对性能有影响，因为会有读取得操作，所以最好保证redis和脚本最好再相同得网段上，这样才不会影响压测得性能得表现
Redis Key：对应Redis数据库中的Key
Variable Name：Redis数据库中取出数据后存储的变量，可以]]></description><category></category></item><item><title><![CDATA[CSV 和 User parameter传参]]></title><link>https://blog.csdn.net/jffhy2017/article/details/112469503</link><guid>https://blog.csdn.net/jffhy2017/article/details/112469503</guid><author>jffhy2017</author><pubDate>Mon, 11 Jan 2021 15:08:24 +0800</pubDate><description><![CDATA[delimiter（use "\t" for tab)：默认分隔符为“，”，可自定义

sharing mode：是否线程共享

txt内容：







执行用例：全部通过
]]></description><category></category></item><item><title><![CDATA[用前一个请求的返回url重新请求（JSON Extractor提取）]]></title><link>https://blog.csdn.net/jffhy2017/article/details/112468333</link><guid>https://blog.csdn.net/jffhy2017/article/details/112468333</guid><author>jffhy2017</author><pubDate>Mon, 11 Jan 2021 14:39:28 +0800</pubDate><description><![CDATA[第一个接口：https://api.zhihu.com/market/header

第二个接口：第一个接口中返回的url再次请求

设计用例：



添加后置处理器：JSON Extractor，json path: $..url （说明：$代表根目录，..代表第二个目录级别，url代表要取得字段）



第二个用例设计：



运行用例：成功
















...]]></description><category></category></item><item><title><![CDATA[JAVA接口自动化框架12：邮件发送（第2种方式：Java代码发送）]]></title><link>https://blog.csdn.net/jffhy2017/article/details/111246866</link><guid>https://blog.csdn.net/jffhy2017/article/details/111246866</guid><author>jffhy2017</author><pubDate>Wed, 16 Dec 2020 10:24:15 +0800</pubDate><description><![CDATA[1. pom.xml导入依赖包


&lt;dependency&gt;
 &lt;groupId&gt;javax.mail&lt;/groupId&gt;
 &lt;artifactId&gt;mail&lt;/artifactId&gt;
 &lt;version&gt;1.4.7&lt;/version&gt;
&lt;/dependency&gt;

2. 邮件开启smtp服务，并复制授权码，注意代码中写的password不是密码而是授权码，本人的实现如下


package com.qa.com]]></description><category></category></item><item><title><![CDATA[JAVA接口自动化框架11：断言封装]]></title><link>https://blog.csdn.net/jffhy2017/article/details/110043563</link><guid>https://blog.csdn.net/jffhy2017/article/details/110043563</guid><author>jffhy2017</author><pubDate>Tue, 24 Nov 2020 10:24:21 +0800</pubDate><description><![CDATA[断言类封装


package com.qa.ResultDeal;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testng.Assert;
import java.io.IOException;
/**
 ]]></description><category></category></item><item><title><![CDATA[JAVA接口自动化框架10：返回值提取]]></title><link>https://blog.csdn.net/jffhy2017/article/details/110039747</link><guid>https://blog.csdn.net/jffhy2017/article/details/110039747</guid><author>jffhy2017</author><pubDate>Tue, 24 Nov 2020 10:16:47 +0800</pubDate><description><![CDATA[解决问题：从返回值中提取各种需要的字段，如下json串，我们需要取出的字段，封装提取方法

1）code/msg 第一节点返回的内容

2）data下的customerList数组

3）data下的customerList数组中的cid

{
 "code": 200,
 "msg": "ok",
 "data": {
  "customerList": [{
   "cid": 358629,
   "follower": "",
 ...]]></description><category></category></item><item><title><![CDATA[第一次使用idea编码及git协作开发]]></title><link>https://blog.csdn.net/jffhy2017/article/details/109624115</link><guid>https://blog.csdn.net/jffhy2017/article/details/109624115</guid><author>jffhy2017</author><pubDate>Wed, 11 Nov 2020 16:14:10 +0800</pubDate><description><![CDATA[第一次使用idea感觉他真的好难懂，用惯了eclipse使用它真是欲哭不能，公司新电脑决定用下这个软件
1. 安装激活idea
2. 配置maven
配置maven，因为使用eclipse自带的maven有时会出一些莫名其妙的问题，最好是自己重新下载配置maven

1）配置环境变量 MAVEN_HOME：D:\JavaTools\apache-maven-3.5.0

2）配置 Path：%MAVEN_HOME%\bin

3）配置好检查环境变量，cmd 输入 mvn -version 出现版本信息就是配]]></description><category></category></item><item><title><![CDATA[JAVA接口自动化框架9：用秘钥为多个参数进行AES加密及MD5加密]]></title><link>https://blog.csdn.net/jffhy2017/article/details/103047617</link><guid>https://blog.csdn.net/jffhy2017/article/details/103047617</guid><author>jffhy2017</author><pubDate>Thu, 02 Jan 2020 19:06:10 +0800</pubDate><description><![CDATA[最近遇到一个开放接口，需要用秘钥把3个参数加密后传递，找了很多AES加密的文件放到我这里虽说能调通，但是得到的值确实不匹配的，所以如果公司用了AES加密的话最好问下研发要AES加密的文件，避免像我一样浪费很多时间

一、开发文档展示信息：

1. 请求方式 / 提交格式：post / json ，无body

2. 请求头：


			名称
			
			
			值
			
		
			ur-a...]]></description><category></category></item><item><title><![CDATA[Mock模拟数据测试一：使用fiddler mock response数据]]></title><link>https://blog.csdn.net/jffhy2017/article/details/103688662</link><guid>https://blog.csdn.net/jffhy2017/article/details/103688662</guid><author>jffhy2017</author><pubDate>Thu, 26 Dec 2019 16:14:44 +0800</pubDate><description><![CDATA[一、 什么是 mock

mock测试就是在测试过程中，对于某些不容易构造或者不容易获取的对象，用一个虚拟的对象来创建以便测试的测试方法

那么何时使用？？？？

1、Mock模拟数据测试

测试类 A 时，类 A 需要调用类 B 和类 C，而类 B 和类 C 又需要调用其他类如 D、E、F 等，假如类 D、E、F 构造很耗时又或者调用很耗时的话是非常不便于测试的，可以使用 Mock 对象模拟数据...]]></description><category></category></item><item><title><![CDATA[JAVA接口自动化框架8：Redis存放测试数据]]></title><link>https://blog.csdn.net/jffhy2017/article/details/103677671</link><guid>https://blog.csdn.net/jffhy2017/article/details/103677671</guid><author>jffhy2017</author><pubDate>Tue, 24 Dec 2019 09:52:33 +0800</pubDate><description><![CDATA[一、redis简介

1. 内存型key - value 数据库，也叫缓存数据库，无需sql随存随用。

详细教程：https://www.runoob.com/redis/redis-tutorial.html

2. 安装、启动

下载地址：https://github.com/MSOpenTech/redis/releases

解压后目录，启动redis-service，启动redis-c...]]></description><category></category></item><item><title><![CDATA[认识spring及环境搭建]]></title><link>https://blog.csdn.net/jffhy2017/article/details/102991607</link><guid>https://blog.csdn.net/jffhy2017/article/details/102991607</guid><author>jffhy2017</author><pubDate>Sat, 09 Nov 2019 21:33:43 +0800</pubDate><description><![CDATA[一、spring是什么？

   spring是一个开源框架，为简化企业级应用而生，使用spring可以使简单的javabean实现以前只有ejb才能实现的功能

   spring是一个IOC（DI）和AOP容器框架

具体描述spring：

1.轻量级：spring是非侵入性，基于spring开发应用的对象可以不依赖springAPI

2.依赖注入：（dependency in...]]></description><category></category></item><item><title><![CDATA[类的初始化过程]]></title><link>https://blog.csdn.net/jffhy2017/article/details/102905625</link><guid>https://blog.csdn.net/jffhy2017/article/details/102905625</guid><author>jffhy2017</author><pubDate>Mon, 04 Nov 2019 21:16:51 +0800</pubDate><description><![CDATA[new Zi ( ) ;

1.加载子类和父类到内存中

2.定义变量num；给变量num赋初始值，比如int的是0，string类型的是null等

3.调用子类构造器Zi（），子类构造第一个操作调用父类构造器（默认的super语句）

4.调用父类构造器Fu（）

5.父类构造器中调用show（）方法，子类重写了父类的方法，会调用子类的

6. 给变量num赋值9；




package...]]></description><category></category></item><item><title><![CDATA[异常]]></title><link>https://blog.csdn.net/jffhy2017/article/details/102904382</link><guid>https://blog.csdn.net/jffhy2017/article/details/102904382</guid><author>jffhy2017</author><pubDate>Mon, 04 Nov 2019 20:51:56 +0800</pubDate><description><![CDATA[一、定义 异常：在运行时期发生的不正常情况；在java中用类的形式对不正常情况进行描述和封装对象；

描述不正常的类就称之为异常类，其实异常就是java通过面向对象的思想将问题封装成了对象。用异常类对其进行描述；

不同的问题用不同的类进行具体描述，比如角标越界，空指针等；

以前正常流程代码和问题处理代码相结合，现在将正常流程代码和问题处理代码分离，提高阅读性；

二、异常体系

问题很多描...]]></description><category></category></item><item><title><![CDATA[单例设计模式]]></title><link>https://blog.csdn.net/jffhy2017/article/details/102864221</link><guid>https://blog.csdn.net/jffhy2017/article/details/102864221</guid><author>jffhy2017</author><pubDate>Fri, 01 Nov 2019 20:36:36 +0800</pubDate><description><![CDATA[单例模式：确保一个类在内存中最多只有一个实例，并提供一个全局访问点

一、单例模式必备条件：

1.构造器私有化，杜绝外界使用new创建对象

2.获取单例对象的静态方法，多个线程来访问也是返回一个实例

二、使用场景

有些对象只需要创建一个，线程池、缓存、硬件设备；比如对于多个程序使用同一个配置信息对象时，就需要确保该对象的唯一性。

如何保证唯一性：

1）不允许其他程序用new创建该...]]></description><category></category></item><item><title><![CDATA[jmeter中body data使用post请求的json格式提交]]></title><link>https://blog.csdn.net/jffhy2017/article/details/102546615</link><guid>https://blog.csdn.net/jffhy2017/article/details/102546615</guid><author>jffhy2017</author><pubDate>Mon, 14 Oct 2019 14:20:59 +0800</pubDate><description><![CDATA[之前介绍过jmeter中post的默认提交形式form表达提交，Content-type=“application/x-www-form-urlencoded”，使用直接 填写参数的形式



本次介绍的是jmeter中body data使用也就是json格式，以post请求为例

1. 使用非post默认的提交格式需要指定请求头信息，添加配置元件中的http信息头管理，并设置Content-ty...]]></description><category></category></item><item><title><![CDATA[postman使用全总结]]></title><link>https://blog.csdn.net/jffhy2017/article/details/102505139</link><guid>https://blog.csdn.net/jffhy2017/article/details/102505139</guid><author>jffhy2017</author><pubDate>Fri, 11 Oct 2019 18:18:43 +0800</pubDate><description><![CDATA[今天面试面试官是名程序员，问postman问的挺多的，现总结如下：

一、获取cookie

获取数据失败，且请求时需要cookie信息时，需要安装postman interceptor插件，这个插件可拦截浏览器的cookie；如果一些网站需要登录，就可以使用这个功能，前提是需要用谷歌登录一个网站

1. 在postman工具中打开postman interceptor插件中设置filter re...]]></description><category></category></item><item><title><![CDATA[List集合（存放有序可重复队列）]]></title><link>https://blog.csdn.net/jffhy2017/article/details/102232533</link><guid>https://blog.csdn.net/jffhy2017/article/details/102232533</guid><author>jffhy2017</author><pubDate>Sun, 06 Oct 2019 15:30:17 +0800</pubDate><description><![CDATA[常用的ArrayList是一种先进先出的有序队列


//list集合是有序的可重复的
	@Test
	public void listTest1(){
		List list =new ArrayList();
		//不指定索引直接添加在集合最后
		list.add(11);
		list.add(" 111");
		list.add('a');
		//指定索引
		list.add(0...]]></description><category></category></item><item><title><![CDATA[Map集合（key value类型有索引、存储方便的映射表）]]></title><link>https://blog.csdn.net/jffhy2017/article/details/102229374</link><guid>https://blog.csdn.net/jffhy2017/article/details/102229374</guid><author>jffhy2017</author><pubDate>Sun, 06 Oct 2019 14:47:55 +0800</pubDate><description><![CDATA[一、


//map的普通操作
@Test
	public void mapTest(){
		Map map=new HashMap();
		//添加数据
		map.put(1, "demo1");
		map.put(2, 22222);
		//遍历
		for(Object key:map.keySet()){
			Object value=map.get(key);
			Syst...]]></description><category></category></item><item><title><![CDATA[linux面试常用命令总结]]></title><link>https://blog.csdn.net/jffhy2017/article/details/102094090</link><guid>https://blog.csdn.net/jffhy2017/article/details/102094090</guid><author>jffhy2017</author><pubDate>Fri, 04 Oct 2019 20:52:37 +0800</pubDate><description><![CDATA[1.more testfile查看固定日志，每次一屏、按空格键继续下一页、按ctrl+b键上一页（back）、q退出moren
1）从第20行开始显示文档内容
 ——》more +20 testfile
2）逐页显示文档内容
 ——》more -s testfile
2.tail -f testfile 实时查看日志文件，ctrl+c退出日志
 ——》tail -100f tes...]]></description><category></category></item></channel></rss>