将每周读书与学习相结合,可以有效地提升个人素养和知识水平。以下是一些建议,帮助您实现这一目标:1. **制定计划**: - 每周选择一本或多本书籍,涵盖不同领域,如文学、历史、科技、哲学等。 - 确定每天如早晨起床后、午休时间或睡前。2. **选择书籍**

摘要:每周读书与学习是由清华大学出版社出版的《JMeter核心技术、性能测试与性能分析》一书的作者推出,分享作者多年的IT从业经历,希望对很多计算机科学技术IT类专业毕业生以及IT从业者有所帮助。 在前面的学习中,我们已经讲到在Jmeter中配置
每周读书与学习是由清华大学出版社出版的《JMeter核心技术、性能测试与性能分析》一书的作者推出,分享作者多年的IT从业经历,希望对很多计算机科学技术IT类专业毕业生以及IT从业者有所帮助。 在前面的学习中,我们已经讲到在Jmeter中配置元件主要用于完成性能测试中一些常见配置信息的配置,在前面的章节学习中,大家或许已经对配置元件的使用和作用有了一个初步的了解,在本章节学习中,我们将对一些常见的配置元件进行详细的介绍。 1、配置元件 1.1.CSV数据文件设置 如下图所示,CSV 数据文件设置这个配置元件是Jmeter中用的最多的配置元件之一,CSV 数据文件设置通常可以用于Jmeter多线程并发用户的参数化设置,我们都知道,做性能测试时,通常需要模拟大量的不同的用户操作,而不是使用同一个用户在进行持续的并发操作,因为这并不符合真实的用户场景。不同的用户会有不同的用户属性,比如肯定会有不同的用户名、密码等信息,而这些不同的用户属性就需要通过参数化的形式设置给多线程下的每一个并发用户。 从图中可以看到,CSV数据文件设置的界面中主要包括如下内容: 文件名:设置需要读取的CSV文件名称,通常建议包含完整的文件路径,当然也可以使用相对路径,相对路径通常是根据当前Jmeter测试计划所保存的路径来进行相对路径的解析,由于Jmeter支持分布式性能压测,当使用分布式性能压测时CSV文件必须存储在服务器主机系统上与JMeter服务器启动位置相对的正确目录中。 文件编码:设置打开CSV文件的编码方式。 变量名称:设置从CSV文件中读取出来的数据需要保存的变量,多个变量之间通过指定的分隔符进行分割,如下图所示的CSV文件中,可以看到其包含了两列数据,因此可以保存成两个变量,一个变量用于存储用户名,比如叫user,一个变量用于存储密码,比如叫password,在后续的Jmeter性能测试脚本中,就可以通过${user}和${password}来引用这两个变量了。 忽略首行:设置是否忽略首行,通常CSV文件都会有一个类似Excel文件一样的表头,用来标注每一列数据的含义,由于表头数据通常需要忽略,所以这里设置时允许用户是否忽略CSV文件数据中的首航。 分隔符:用于设置CSV文件中的每列数据之间通过哪个分隔符来进行分割,下图中的CSV文件数据就是通过逗号来分割的,因此假如时类似下图所示的文件格式,这里就应该设置为逗号。 是否允许带引号:用于设置是否允许使用带引号的数据值,默认为False。 遇到文件结束符再次循环:用于设置遇到文件结束符是否再次重新从头读取CSV文件中的数据,通常遇到文件结束符代表了文件已经读取到了最后一行了,默认为True。 遇到文件结束符停止线程:用于设置遇到文件结束符时,直接停止线程,代表所有的并发用户的变量数据已经读取完毕,无法读取到新的变量数据,所以线程直接停止。 线程共享模式:用于设置多个线程用户之间的CSV文件数据的共享模式,默认为所有线程都共享,代表CSV数据文件只打开一次,然后每个线程按照顺序轮流读取里面的数据。其他的共享模式包括:当前线程组共享(当有多个线程组时,每个线程组都会打开一个CSV数据文件,也就是每个线程组之间的变量数据是隔离的)、当前线程共享(每个线程都会单独打开一个CSV文件数据,每个线程之间的数据都是互相隔离的)、标识符共享(同一标识符的所有线程打开一个CSV文件数据)。 1.2.HTTP Cookie管理器 在前面的章节学习中,我们已经有对HTTP Cookie管理器做过了一些初步的介绍,由于HTTP请求是最常见的一种客户端和服务端的请求交互模式,也是性能测试中性能压测频率最高的一种请求服务,所以在这里再详细介绍一下HTTP Cookie管理器的使用,因为HTTP请求中经常需要对Cookie进行管理以达到最真实的模拟用户操作的效果。HTTP Cookie管理器有如下两个作用: 会像浏览器一样存储和发送Cookie,比如一个HTTP请求,并且响应结果中包含了一个Cookie,Cookie管理器会自动存储该Cookie,并将其用于后续对该特定网址的所有请求,而且接收到的Cookie还可以存储为Jmeter的线程变量,如果要将Cookie保存为变量,请先修改Jmeter的自定义属性CookieManager.save.cookie=true,然后通过${cookie_}来进行引用。在Jmeter中,每个线程通常都会有自己独立的Cookie存储区,也就是说,每个线程之间的会话都是独立的,互相不会存在干扰,也就是和实际的用户场景一样,Jmeter 多线程模拟的效果也是每个用户拥有自己独立的会话和Cookie。
阅读全文