你说一下揭秘的是怎么做接口测试的,然后怎么去测试这个接口的关联的啊?就是通过揭秘的中的 sdb 请求,然后查看结果出来做,至于揭秘和关联,我们这边好像没有做过。好,你这个回答不是很全面啊,那我来说一下。首先的话呢,我们做接口测试流程是根据开发提供的这个接口文章来编写接口测试用力,然后呢,根据用力使用接口来建议测试 啊揭秘图做借口测试的话呢,我们需要添加这个信神助 hdd 请求,然后在 cd 请求当中呢,需设置好地址啊,参数啊,以及要添加这个请求头部信息 啊,然后再添加这个查看结果数,来查开响应的一个结果对比结果是生命当中的预计结果,是不是一致的同步呢?去检查数据库来确认结果数据是否是通过的。 那另外的话,部分数据呢,我们会定义为用户电量来进行调用,那涉及到批量测试呢?会使用 csd 测试原件来读取数据进行批量测试。而至于这个结果关联的话呢,我们是用经历的一个后置处理器, 主要是这个节省提取器和政责表达是提取器,比如说我们要去获取这个 top, 会把这个提取到的 top 值呢复制给一个变量,然后在下个接口来调用这个变量就可以了。
粉丝1.2万获赞10.6万

我们先来做一个完整的性能测试,通过这次的性能测试呢,对杰米特这款工具有一个基本的认识和了解。先来定义我们的测试目标, eu it 点课点 qq 点 com, 这是我们课程的首页,对,首页呢,我们来做一个性能测试, 性能测试的目标是五个并发,每个并发呢,请求一百次。测试完成后要得到首页的平均想要时间, 先来制作测试脚本。录制脚本的方法呢,已经讲过了,这一次呢,用手工的方式编写测试脚本。 在菜单栏中呢,选择 fare, 然后新建。或者是呢,在工具栏中选择六,去新建一个测试脚本。 jamitter 把测试中需要使用的功能称之为原件。原件按照不同的功能分为九大类, 现成组,配置单元、监听器、定时器、前置处理器,后置处理器,断言还有一个采样器,他不在这个里面。 现成组是用来组织测试的执行动作。他有三 三个县城组, set up, through the, 添加了三个建成猪, straight, tier down 和 set up。 很多同学呢,会认为这三个县城组会按照塑形结构的顺序依次运行,所有的国务部,提尔大或者晒踏板。但实际上呢,他不是按照你的塑形顺序来执行的。 对于现成组呢,他会有一定的规则,无论你的塑形结构是什么样子,他永远都是先执行 set up, 再执行 sred, 然后再去执行 tira。 那根据这个执行顺序呢? set up 通常是用来做一些测试的准备工作,比如说我们准备一些测试数据。 street 谷物谱是用来执行测试的执行动作,就具体的执行动作放在 sred 谷物谱中, 天荡是用来做结束的动作,比如说退出系统啊,清除数据啊,做这些事情,他的执行顺序永远都是先晒他在 sri, 最后是天荡,跟你的塑形,这个顺序是没有关系的。 我们先把那个 set up 和 tier down 删除掉,只保留这个 sread the group, 选中 ctrl group, 那么在右侧呢是这个县城组的配置,第一项呢是县城组的名称, 第二项呢是县城组的备注,第三项呢是县城组退出的方式,就当出现错误的时候,那么县城组会如何动作?我是继续执行测试呢?还是进行下一次循环呢?还是停止当前的县城,还是停止测试呢?就是你可以根据你的需求进行制定。 那下面三项呢,是现成组的一些具体配置,你的并发现成数,也就是说我们的并发用户数量,我们本次的目标呢是做五个并发,这里面就要输入五。 第二项呢是这五个用户,或者是五个并发用户,他的启动顺序或者启动时间是多少, 他单位是秒,如果我们输一秒,就表示说这五个用户在这一秒钟之内按顺序 次执行测试,那也就是说每隔两百毫秒执行一个测试,如果你希望这五个用户在同一时刻一起来运行,那可以把这个时间呢设置成零。 第三个配置选项呢,是县城组的执行次数,我们的测试目标呢是执行一百次,这里面呢就要输入一百。 他前面这个选项呢,有个勾选项,就是你勾选了之后呢,他会一直的运行,测试就不会停止,你需要手工去用命令停止他,我们还是输成一百。 在下面是一些选项呢,是每一个县城族每一次迭代的时候,他是不是当做一个新用户来处理,如果你当做新用 来处理,那么在处理一些缓存机制的时候,可能会增加一些服务器的压力,比如他会重复的请求一些图片资源,或者请求一些 gs 资源。 delay three to certain you tell needs 这个选项呢,跟前面这个 reading up 是有关系的。如果我们在前面把这个现成组的启动时间设置为一百秒, 那如果我们把这个时间设置成一百,那就表示说每隔二十秒我们启动一个并发现场去执行测试。 那在这里呢,有一点需要特别注意,虽然说是每隔二十秒执行一组测试,但是呢,这五个用户就这五个并发现成的创建时机是在你启动的时候,就你只要一启动测试,这五个现 就已经全部创建好了,只是他的执行时间会间隔二十秒把底内这个选项勾选中之后呢, 在启动的时候他会先创建一个县城去执行测试,那么间隔二十秒之后呢,再去创建一个县城再去执行测试啊,就是说你勾选和不勾选这个县城的创建司机是不同的,勾选了之后呢,就只有他需要运行的时候才去创建这个县城。 第三个选项就指定这个线上的运行时间,你可以指定他运行多长时间或者什么时间启动。 我们保持默认设置五个县城一起启动运行一百次,每次呢是一个新的接待 线程组。设定完成之后呢,我们要为他去添加取样器,取样器呢就是我们具体的一些请求,比如说做一些 appb 请求,或者是 gdbc 的请求。取样器呢要根据你测试的协议来选择。 本次我们的测试呢是 htdp 协议,那就需要选择 htdp request at ttp request, 它是一个取样器原件,有时候呢我们也可以称它为请求。 当我们选择这个原件之后呢,右侧是他的这个配置项,配置项呢看起来都差不多,第一项呢是名称,就是你给他起个名字。第二项呢是一些备注信息, 下面的是一些请求的具体配置,他有基本选项和高级选项,在基本选项中呢,如果你不输入值的话,他会有一些默认值。第一项呢是协议类型是 htdp 还是 htdps, 如果你不输入呢,他的默认值就是 htdp。 后面这个呢是端口号,炮成版本是端口号,它的默认值呢是八零。请求方式呢,默认方式是盖的, 点开之后呢,下面有其他的 pose 的黑点铺的 opacially 等等等等。 pass 是你的请求地址, 康定的引靠顶是你向服务端去提交数据的时候,比如说我们传送一个文件,或者是提交一些数据,那他的制服级是什么?就他的制服格式是什么?他是只是在你提交 数据的时候才能用得到。下面这三项呢,是他的具体提交的数据,比如说我提交一些参数,或者是向服务器传递一些数据,或者是提交一些文件,这里面是一具体设置, 中间呢会有一些选项。第一项呢是他要不要重定项,是不是跟随重定项是不是保持链接,以及你数据的提交格式是什么格式?浏览器的头部信息这一些呢我们可以使用末映选项, 那阿道旺是是一些高级的设置,这里面呢会设置你这个连接的连接时间,比如说我们设置一些超时的时间,以及获取数据的时间,都可以在里面控制。 第二个选项呢是当我们去请求一个网页的时候,比如我们这个页面,这个页面中呢他同时会包含一些图片文件,比如这些图片文件 那嵌入资源呢,就是说当你的这个页面中包含一些图片资源呢,或者是一些静态资源呢,或者一些 gs 资源的时候,那要不要同时把这些资源获取回来,是属于这个配置。 在后面呢是设置代理服务器以及指定你的请求 ip 地址,那后面这两项呢用的比较少, 通常呢我们会比较关注在这个基本配置,基本配置的第一项呢是协议类型,默认情况下呢,我们可以不输入他 htv 协议, 我们把请求地址呢复制下来。 路径呢就是后面这个路径,有些时候呢其实后面不输也可以,就是跟路径,然后呢我们要输域名,域名的时候不要带这个 http, 就只是域名 eu it, 点 key, 点 qq 点 com, 这是我们的域名 灯,口号呢应该是使用默认的八零端口,你可以不输,你输一个八零也可以。后面呢是制服机的类型,当我们上传数据的时候才会需要用到制服机类型,如果做盖的请求他是没有影响的, 取下器呢就已经配置好了,接下来呢,我们要为他添加一个监听器 license 监听器呢,是用来查看你的测试结果,我们选择 meal rut tree, 等一下我们会接讲一个 rator tree 是什么东西。 现在呢,我们已经添加了县城组,县城组呢,我们设置为五个并发用户,执行一百次。 在现场组中呢,添加了曲样器,向服务端发送一次请求,请求的域名呢是 euip 刻点 qq 点卡,是请求的根录制。 同时呢,我们还添加了一个监听器,用来查看测试的结果。如果现在我们去执行测试,就点上面这个是大的去执行测试,他 会启动五个县城,那么执行一百次。但这种方式呢,是做压力测试的时候我们才用。现在呢,我们正在调试脚本。调试脚本呢,可以用在县城组中去选择右键,他会有三个选项是大的,很大的 no, prize, melody。 这三种方式呢,都可以启动测试。第一种呢就会启动测试,执行五个并发啊,运行一百次。 第二个呢,他也同样是运行五个并发用户,执行一百次。但是呢,他会把中间,如果你有定时器的话,会把定时器的动作忽略掉。 stat 和 stat noprice 的区别呢,就是 noprice 是不执行定时器的动作,回来 dead, 他是只运行一个并发用户, 只运行一次是我们在调试时用的一条命令。我们先选择为了点,他提示你需要保存脚本,我们来保存脚本。 在脚本呢,我们可以创建一个文件夹,单独用来保存这些脚本。 脚本的扩散名呢是 jmx, 你可以不输入他,我们就输个 t 一就好保存起来, 刚才呢我们还看到这个上面,这里面闪现了一下,非常快,可能没有看清楚,那我们再来执行一次, 这上面呢执行了一下,同时呢右侧这边也会发生一些变化,但是因为速度太快了,可能没有看清楚,没关系,以后我们会有机会来看 看这个六瑞兆的。这里面呢可以记录你的测试的执行的结果,就每一个取样器测试的执行结果。 在我们每次的执行过程中,每一个取向器这里面呢都会有记录,就是你的每一个请求是什么,选中某一条记录之后呢,右侧这里会有他的详细信息。 这些信息中呢会分为三个栏目,第一个栏目呢是 simple 伪造的,就是一个基本的汇总结果。第二个栏目呢是你发生的请求内容。第三个栏目呢是他的回应内容,就是服务 不断给你回了什么东西。我们先来看汇总信息,汇总信息中呢会列出县城组的名称,什么时候启动的, 他的测试时间是什么时间?连接是多长时间?延迟是多长时间?他请求的自结数,发送的自结数,头部信息有多大?八点信息有多少? 他的执行次数,那么错误的次数数据类型,状态码和状态信息, 状态码和状态信息呢,是 jimitter 用来判断测试结果的一个简单方法,他用这个瑞士邦是扣的来判断你的测试动作是不是成功两百呢?是表示成功两百这个词呢是从哪来的呢?是从瑞士 response data 中, response 黑点中来返回的,它是由服务端返回的一个数据,两百就是这个 response code, ok, 就是 response message, 服务端返回呢是两百, ok, 我们在瑞兆特里面就可以看到 response 扣的两百, response 卖出去, ok。 这两个数据是从 response data 中取来的, 状态码有很多个,比如说两百三零幺三零二,四零四,四零三,五零零, 从四零零开始,四零四,四零三啊五零零就是超过四百的。那么 jimiter 会认为你的测试动作是失败的,可以了解一下。 再往下面看,他会有一个 pose, 把这些数据呢用格式化的形式展示出来,相当于是一个表格的数据,让你看的会更清楚一点。我们还是看原始数据,那切换到第二个窗口去看他的请求数据。 请求数据中呢,会包含两部分,一个是请求的头部信息,另外一个呢是请求的数据体信息,你向服务端发生了什么请求?那么通过这两组信息呢,可以看得出来, 我向服务端去请求的时候呢,做了一个开管利用的请求,提交了域名信息,设置了浏览器的类型, 巴德里面呢是空的,没有数据这行 get 信息呢,其实他应该是放在这个瑞克斯黑的中,但是不知道为什么他会放到这个 get 里面 get 这一组信息呢,本身是属于头部信息,那么 基本上来说他没有 body 信息,就是对于钙的请求来说呢,是没有 body 信息。请求发送句之后呢,会得到响应的数据啊。 response data 就是服务端的响应数据, body 和黑的是分别两组不同的数据,黑的呢是 htp 协议的头部信息,它会标识你的状态码啊,以及一些服务状态啊,一些参数啊,都会放在头部信息。 body 呢是返回的具体数据,这里面呢我们可以看到它显示的就是页面上的原代码, 那大家可以看一下,在左侧这个记录结果的上面有一个 tst, 他右边呢会有个下拉 框,选择之后呢他会有一个列表,那这里面呢是对你的响应数据用一些格式化去查看。如果我们选择 html, 你可以看到这个 vis box body 中的数据会变得不一样,这就不是原代码,是一个有样式的代码, 我们还是选这个 tst 啊,这是没有伪造的。如何去查看数据以及各个数据代表什么意思? 没有给教程呢,他只是用来帮助我们调试代码,就看看你的这个请求发的对不对,那么发的数据回来的数据是是不是对的, 如果确认没有问题了之后呢,就表示说我们代码是正确的。那接下来呢,我们要为这个代码去增加断言的功能。现在我们通过这个结果呢,是通过人的眼睛去看,然后再去分 分析这个结果是不是正确的。在性能测试过程中呢,我们还要增加断言,就是去判断他的本次请求是不是成功的。 选择取样器就是我们的 htv request, 然后去右键添加选择,把筛数断言去判断这个请求是不是成功的。断言呢有很多种,这里面有非常多的断言, 我们先用一种比较简单的段源 seizing seizu, 他是根据你的返回结果的自结数来判断这个动作是不是成功, 那我们这个请求之后,他会服务端会返回多少个字节呢?在 mir ritat 中可以看得到 simirizat, 这里面可以看到五二七九幺,这是 返回字结束再切换到三角角 c 数。 在这里面呢,可以做一些详细的设置,比如说我是对全部的请求判断一个直接长度,还是对头部信息,我判断一个直接长度,那还是对这个八得去判断一个长度。 后面呢,我们会看到有两项,就是 response code 和 response message。 responds code 和 response message 指的是头部信息中的两百和 ok, 服务端回应的信息中有 app 一点一两百 ok, 那这两百和 ok 呢?分别对应的就是 response code 和 response message, 通常呢我们都会用这个 full response 来作为判断, 那返回的结果呢?是五二七九幺,有这么多个直接数。 当我们用返回长度去作为断言去判断一个操作是不是成功的时候呢?你要考虑到这个长度会不会发生变化,当我们在测试过程中呢,这个页面发生了变化,那些文字啊,一些提示啊发生了变化,当这些文字发生变化之后呢,长度就会发生变化。 所以呢,我们要考虑到如果这种长度有可能会变化的话,那就不能用等号这个纸,你可以用大于或者小于就是一个范围的纸去判断这个长度是不是正确的。 我们把这个长度呢设置为五万个字接就是五十 k, 只要你返回的长度大于五十 k, 我就认为是正确的, 这是我们用,这是我们为这个请求增加了一个断言,大家要注意啊,这个断言是放在了这个请求的下面,他属于是请求的指节点,这两个之间呢是有一定关系的,他们不是平级的,是上下级之间的关系。 断言添加好之后呢,我们再进行一次测试, really dead, 去看看我们这个结果是不是正确。那么确认没有问题之后呢,我们再保存脚本, 正常情况下呢, jimeter 会自动保存脚本,就你每运行一次,他会保存一次脚本。 接下来呢,我们需要去做压力测试,就用五个并发一百次叠弹去执行测试。 在这里面呢,有一点需要特别注意六、比较的处,这个原件他是一种调试性原件,就他不是用来做压力测试用的。当我们在做压力测试的时候,要把这个原件呢删除掉或者是禁用掉,我们选择右键 disneybook 掉, 变成灰色。因为这个原件呢,在测试过程中会占用比较多的系统资源,他占用的是你本机的系统资源,比如说占用一些 cpu 资源,因为他要去算这里面的数据,或者是不同的展示方式, 会占用一些内存资源。就在性能测试执行的时候,这个原件呢我们要删除掉或者是屏蔽掉。 在上一节课中呢,我们说过 杰米特呢,有两种运行模式,一种呢是 gui 模式,一种是 cra 模式。 gui 模式呢,就是现在我们看到这种图形界面模式,他是用来做调试脚本和编辑脚板用的。 cla 模式就是命令航模式,他是用来执行压力测试的时候来用。 如果你的这个代码很少,比如说这五个并发很短,其实你在 gy 模式上也可以运行,那这一次呢,我们是选择 cla 模式来执行压力测试,打开 cmd 就是 ctrl 啊运行,然后输入 cmd 进入到我们的脚本的存放位置, 我们看到 t 一点 g m s 就是我们的脚本。那直行测试的时候呢,我们要输入 全路径,因为我们并没有把杰米特加入到系统的镜中,他是没办法去找到杰米特的。所以呢,我们需要手工指定杰米特的位置是在地盘的阿帕奇杰米特二幺下面的,并下面 jamit, 这是我们要使用的程序,就是 jimita 去执行压力测试。在压力测试的时候呢,我们需要带上一些参数,参数杠 n 是表示说呢,我用 c l i 模式去运行,就是没有图形界面的模式。 参数杠 t 是指定我的测试脚本, t 一点 gmx, 杠 l 是保存测试结果, t 一点接 t m, t 一点接 t l。 这个文件名字说我们要自己来定义的,他不会自动生成,你要自己要定一个名字, 再增加参数。杠 e, 杠 e 呢是生成报告,杠 o 是报告的存放位置,他的存放位置呢,必须是一个目录,并且呢是一个空的目录,他会自动去创建目录,我们学会 t e report。 然后呢,我们可以直行测试,把屏幕放大一点, 在执行测试过程中呢,他每隔三十秒 会输出一条信息,我们可以看到这里面有萨摩瑞一后面有一系列数据, summery 呢是表示他是一个汇总信息,我们会看到呢,在 summer 后面有加号,有等号,对吧?有一个是加号,有一个是等号,那加号所表示的是从上一个时间到当前报告时间, 就从第一个报告开始,从他是从上一个时间到当前这个时间中间这一段的结果。比如说我们从开始 那到四九九这段时间,他是说从开始到四九九这一段时间,就中间这十九秒,那这里面显示十九秒,这十九秒他的请求次数 是四百九十九次,那后面呢,是平均的每秒请求次数是二十六点九次。 iron g 是他的享用时间一百八十五毫秒时间的单位呢,是毫秒,一秒呢等于一千毫秒, 一百八十五毫秒就是零点一八五秒,最小值是一百三十五毫秒,最大值是五百五十九毫秒。错误的次数啊,有多少个啊?个 tvt 啊,是表示说你有多少个现成在运行, 那么开始了多少个县城,结束了多少个县城这样一个汇总信息。注意啊,这个加号表示的是这一段时间,就是中间这一段时间的汇总信息。那 等号呢?是表示从测试开始到现在全部的汇总信息。比如说我们从开始测试到现在经过了一个小时,那加号所表示呢,就是前五分钟,就是以当前时间往前推算这前五分钟的平均值。 那等号呢,是表示这一个小时内的全部的请求数量。这是我们用撒门如何去看这个数据?这是在 cla 模式下去执行测试出的一些汇总信息。 测试完成之后呢,会生成 t 与 pot 目录,我们可以看一下。点二看一下 t report 是刚刚生成的目录,在目录中呢,他会用 h、 t、 m、 l 格式生成本次的测试报告, 这个报告呢我们可以直接拖到浏览器里面去观看, 在报告中呢会分为详细信息和汇总信息,左侧呢,可以去看某一个续详细的报告,但是 bur 的呢,就是他的汇总信息,你的脚本名称,什么时间开始测试的?什么时间结束的? 那么有多少个成功的,多少个失败的,那么绿色的就是表示成功的。在下面这一些呢,是统计信息,你的取先不来,就是取氧气,那么有五百个就 执行了五百次,那么错误的是多少?平均值是多少,以及这个错误的信息。前五个错误信息都在这里面有展示图表信息,那他会有汇总信息。 response time, 这个响时间,这里面的这个响时间呢,它是一个曲线,但是因为我们测的时间比较短,所以呢只有一个点, 他是成功的响应。时间分布,这里面呢会包含百分之九十的时间,百分之九十五的时间,百分之九十九的时间最大值和最小值,他会更加详细一些, 那县城的数量就是你有多少个并发用户,他也是一个曲线,但是 因为我们时间比较短,这个就只有一个点了,这是网络的吞吐量,他有多少个字节,延迟的时间,连接的时间, 在揭秘的中呢,他会把它定义为事物的数量,这是每秒的想啊,每秒的点击次数, 两百的时候没瞄多少个就是成功的事物,就是他的鱼是帮是扣的,是两百的,他们没瞄多少个, 那么请求的成功率是多少? 实木数量,每秒多少个 response time, 就是一些具体的统计词,在这里面呢有一个点跟大家特别说一下,就是这个 hit per second, 它每秒的点击四个数量,我们会看到呢,这里面每秒的点击数是八点三五, 我们会看到这边呢,这个三门里面的统计数据呢是每秒二十六次,看这个数据,这是我们的汇总信息,每秒是二十六次, 那我们看到报告中的每秒的点击次数呢是八点三五,八点几,这两个时间为什么会对不上呢?再看一下这边的报告呢,是二十六点几,二十六点二, 在报告中呢是八点几,这是因为他们两个的时间的单位是不一样的,你注意看这个黑特普再跟下面的单位,他的单位呢是一分钟,就是一分钟之内,你的这个平均的次数量是多少啊?就是一分钟之内他的点击次数是多少? 我们这一次的测试时间呢,很短,只有十九秒,那十九秒的数量在平摊到一分钟之后,相当于是我们看到这里面是十九秒, 十九秒是二十六次,那跟六一分钟六十秒呢,就会差三倍。如果你把二十六除上三,基本就是八点几,跟他这个时间是对的上, 就当我们去看这些图表的时候,一定要看他的时间单位跟你的单位是不是一致的。 当我们测试完成之后呢,这个测试报告就不能作为正式的测试报告发出去,为什么呢?因为这个报告呢,他只是给我们内部来用的,是用来评估本质的性能测试是不是达标。 那么系统有没有瓶颈,瓶颈可能出现在哪里?他是一个用来做分析的报告,这份报告呢,如果你拿给那些不是专业做行程测试的人员去看的话,他们可能看不懂,也不知道是什么意思。 所以呢,我们在做测试报告的时候呢,一定要去挑选一些数据出来,就挑选一些有代表性的数据,然后呢再增加一些描述性的信息,才是一个正式的测试报告。 这份报告呢只是用来帮助我们去定位问题,判断结果。 那我们再来简单的看一下我们的测试过程, 这一次呢,我们只是去了解一下如何去做一个完整的性能测试。在一个完整的性能测试过程中呢,我们先要去做脚本,脚本呢,你可以录制本次呢,我们是用手工的方式去编写脚本, 编写脚本的时候呢,他会有一些基本的主教,现成主就是最基本的主教。在现成组中呢,我们要设置并发的用户数量和循环次数,这是对现成主的设置。 在现成组的里面呢,我们要添加测试动作,测试动作呢要与你的协议相关,你的网络协议是什么?你就要选择相应的原件,选择相应的取样器。 在 jmit 中的这些请求都称之为取样性,他会有根据你的协议不同有多种请求, htdp 的,或者是 jdbc 的,或者是一些其他协议。我们选的呢是 http 协议,就是 http request。 那它的使用方式呢,也非常简单,你只要听上域名啊,请求地址啊,短口号啊这些基本信息很少需要我们去手写代码,你只要用配置的方式就可以实现一个测试脚本 取压器添加完成之后呢,我们再添加一个监听器, vivo xiaoshi, 它是用来查看测试结果。这个监听器呢,它主要是用来帮助我们去调试脚本,分析问题,查看结果。 在性能测试执行过程中呢,这个监听器要把它关闭掉或者是删除掉。 当我们确认脚本正确之后呢,我们还要增加这个断言,其实你在之前加断言也可以,这个没有一定,根据你的个人习惯,你提前加也可以,之后加也可以。 断言呢,也有很多种,我们现在选用的是一种比较简单的断言,使用筛子就是他的返回内容的长度去判断这个结果是不是正确。 脚本编写完成之后呢,我们记得把这个六比照的 three 关闭掉,保存脚本。 在性能测试的执行过程中呢,会用命令行的形式去执行压力测试。 jamitter 是我们调用的命令。杠 n 是说不使用图形界面,杠 t 呢是指定我的测试角, 问在哪里?杠 l 呢是把测试的结结果保存起来。杠一是生成报告,杠 o 呢是生成报告的名称,就你存到什么地方? 目标呢,一定要是一个目录,并且呢是一个空的目录,这个目录呢可以不存在,他会自动的去创建新目录。 在执行过程中呢,会每隔三十秒打印一条记录,做一个汇总信息。在汇总信息中呢,加号表示的是这一段时间内的汇总信息。 等号是指的是从测试开始到现在这一段时间的全部的汇总信息。 后面这个数字是你的取样器的执行次数, 零零零幺九是你的执行时间,后面这个数据呢,是每秒平均的取向,其数量。 在后面呢是响应时间,时间呢是以毫秒为单位,在后面呢是出错的失误数量,出错的请求数,或者起二级的数量。测试完成之后呢,他会自动的生成报告提意味。 pot 报告呢,只是用来帮助我们去分析问题,就确认是不是达标,有没有性能瓶颈。 如果说我们需要做专业的性能测试报告,可以从这里面抽取一些代表性的数据,再组成正式的测试报告,这个报告呢,不能作为正式的报告发出去。这一次的课程呢,是 让大家了解一下我们如何去做一个性能测试,基本上你需要有哪些原件,怎么去入手,怎么做这个事情。接下来我们再进行一次项目级的性能测试,一起来看看在一个项目中如何去做一个真正的性能测试。

那你说一下你用 jimita 做接口测试的流程吧?没做过啊。行,第一步啊,通过接口文档或者抓包获取接口的 uil 和参数。第二步,创建县城组,创建 htvp 的请求,根据接口地址设置相关的信息。 第三步,根据测试用力情况修改接口参数,调动接口。第四,对接口的返回值做判断,也就是断言,你明白了吗?

matter, 如何做接口测试?汤娜老师,吉米特如何做接口测试呢?啊?那么吉米特如何做接口测试呢?根据我们之前做接口测试的那么一个流程里面来说,我们必不可少的这些,我们吉米特做接口测试也是 需要的,比如说我们的测试计划,我们的测试方案啊,我们的测试兄弟的设计啊,那么这些跟我们之前做接口测试其实是一样的。 这个问题呢,我们可能我们重点讲解的是我们如何来使用紧密特啊来做啊这个借口测试。那么紧密特如何来做借口测试呢?首先我们需要安装紧密特啊,因为紧密特需要加瓦的安装环境,所以说我们要安装加瓦一点六以后的这样的一个版本,然后我们再去安装我们的一个紧密特,那么 几名台安装完成了以后呢,我们去打开我们的几名台啊,那么打开几名台以后呢?因为几名台默认的情况下,他是不支持中文的,所以说如果我们响应里面有 中文啊,他可能是有乱码的这样的一种情况,我们需要修改一下他的配置文件啊,把里边那个啊,那 iso 啊,八八五九杠幺啊,那么这样的一个配置啊,那么改成我们的啊, utf 杠八啊这样的一种编码,那么这样的话,我们的一个响应里面的中文啊,就没有任何问题了。那么初始阶段搞定了以后呢?那么 接下来的话,我们如何来做我们的结果测试呢啊?首先第一步我们需要在吉米特里面创建一个啊测试计划,比如说我们这个整个的测试,我们都会放到这个测试计划里去,然后的话我们会在吉米特中创建一个线灯组啊, 这样的话,这样的一个线程组就相当于是我们一个用户组啊,如果你有多个用户,我们可以给他设置多个线程。好,那么这里搞定了以后呢,接下来我们去做接口测试,那么接口测试的话,你无非也就是 apppa 发动机油获取响应,对不对啊? 所以说我们需要配置一些 appt 的请求的默认的值啊,那么我们需要在之前的配置原件中啊去生成一些默认的值。大家如果我们需要保存一些登录状态的话,我们还需要去啊加上一个 agtv p k 的一个管理器啊, 用来方便管理我们的一个库。嘿,好,那么接下来就是我们的一个重点呢,就是我们发动请求的啊,就是我们的 http 的一个请求啊, htpp 的一个分配啊,我们就是这个东西啊,来去发送我们的请求,往里面写入我们的一个接口的地址,那么接口的参数,接口需要携带的参数, 这样的话我们就可以利用我们的 ajtb 三倍啊来发送我们的请求。那么发送完请求以后呢,我们得到这个响应,我们如何来判断这个响应到底是不是符合我们的要求呢?那么这个时候呢,我们会加入我们的一个后置的一个断言啊,在请求后面我们要加入我们的断 断言,那么这个断言的话,看我们自己的一个需求啊,那么我们有可以有节省提取器啊,那么我们可以有这个其他的,比如说正德提取器啊 之类的,那么这些提取到的数据以后呢?在断言里面我们就可以给他进行一个断言,看到底是不是测试通过。那么这些完成了以后呢?最后的话,我们还需要去查看我们的一个啊结果数啊。比如说我们把这个测试的结果看一看, 我们需要添加我们的查看结果数的那么这样的一个内容,那么这样的话整个结果测试的流程我们就已经搞定了。

比特不同的县城组之间变量是不互通的,如果我想要县城组一里面的变量给县城组二里面的接口使用,我是不能直接用到了附加变量名的方式给它用的。 比如说我的这个接口是一个添加的接口,我想要拿到这个接口的一个 id, 拿下来给 search 这个接口使用,我直接这样用,运行的时候其实它拿不到这个 id 的 值, 最终的结果其实他还是原样传送的,那我怎么样就能够让他拿到了?我可以在这个县城组一里面加一个冰山后置处理器,这个冰山后置处理器在添加 后置处理器这里有个 bin shell, 这个后置处理程序里面,我们用设置属性的方法,我们先拿到这个变量 id 的 值,放到这个 id value 里边,然后我们再把这个 value 用设置属性的方法去设置给一个属性值, 然后在县城组二里面我们可以去使用这个属性,我可以直接用这样子的杠屁取属性值的方式直接使用这个属性,这样子我再去请求一次,再去看它请求到的这个值,它就有 id 这个内容了。

嗯,那用紧密条的话如何去做接口之间的数据关联呢?这个我不记得了。嗯,我们说接口数据关联啊,指的是上一个接口的某个返回值作为下一个接口的请求参数。 如果上一个接口返回的是 j 三格式的,可以使用 j 三提取器把数据保存在一个变量里。如果是其他格式的,可以使用正则提取器保存数据。那么在下一个接口中直接使用刀刃符一段大括号里边写上变量名啊,这种方式来调用,你明白了吧?

jimitter, 如何做接口测试?上一期我们已经说完了我们环境的一个搭建,接下来我们去聊一聊,就是接口测试的一个具体步骤,我们该怎么样去,如何去做? 首先第一步我们需要创建一个测试计划,然后去添加测试县城组里面啊,去添加一个县城组,也就是我们的一个用户组啊,如果你有多个用户,我们就可以设设置多个县城, 那么这里搞定以后,接下来我们去做这个接口测试,那么接口测试的话,无非就是我们去发送请求,获取响应, 所以说我们需要配置一些 s t t b 的请求的地址,还有就是一些默认值,所以我们需要在之前的配置原件中去生成一些默认的值。当然如果我们需要啊保存一些登录的状态的话,我们还可以去加上 s t t b 的啊 请求头的一些信息,就管理器来记录我们的一个库体的一些信息。那么接下来就是我们的一个重点,就是我们发送 stp 请求的时候,我们需要添加一个 sttp 的取样器, 那么就是这个取样器去给我们发送请求的,往往里面去写的就是我们的一些接口的地址,还有就是你接口需要携带的一些参数,那么这样的话啊,我们就可以利用我们的一个 stp 取样器来发送我们的一个请求,那么发送完以后呢,我们就可以得到这个啊响应结果了, 我们如何去判断这个响应结果是不是符合我们的一个要求呢?这个时候我们会加入一个后置处理器里面的一个断言,在请求后面啊,我们可以加入断言的一个啊容器,那么这个容器呢,就是我们可以根据自己的需求去加具体的一个内, 比如说我们可以通过节省提取器,也可以有正则提取器,或者说差 pass 提取器等等。那么这些提取器提取到我们的一个数据之后呢?在断言里面我们就可以去给他进行一个断言,结果 看到他是不是通过了我们的测试,断言是失败还是成功。那么这些完成之后呢?最后啊,我们还需要去查看一下我们的一个结果数,然后整个测试的一个流程我们就已经搞定了。

看你简历写了 jimeter postman 做接口测试,那你觉得这两款工具有什么区别呢?不都是接口测试工具吗?我只用来做测试,没有了解过他们的区别。呃,像这两款工具的话呢,像他的用用主持方式是不同的。 jini 的主持方式呢,相对比较扁平, 还没有工作空间的概念,直接呢就是测试计划。而波斯曼的组织方式会比较清亮一点,主要是针对单个的 hdb 请求。在第二个呢,就是知识的借口类型与测试类型上面,这样 gee 的话他会更强大,他可以支持这个 ransla, 然后不支持的话呢,也可以去做扩展啊,可以测试功能性能。那 pose 呢,主要是测试 res 接口主要是功能, 那像呃自定义变量及变量的作用率上面的一个工具都可以去设立全局及这个局部。呃,像流程控制方面的话,这里头呢,可用这个 switch 控制器等一系列的 控制器,以及这个冰需要脚本来实现的流程控制。那 pose man 的话呢,主要是通过这个 javaspread 脚本来进行控制啊,然后像这个结果的解析及暂时断言脚本或者的一方面的解析也是有些区别的。

接下来我们讲这个节拍特的借口测试工具,我们模拟用户发一个 app 的请求,然后我们点添加现场,这边选现场组,然后我们再添加一个 app 的请求,选择添加 at 请求,然后接下来我们再选个添加一个监视器 看看结果书,然后我们回到这个八层体格的页面,这里面我采用的是 atts 服务器,我们选三 w 加 f, 把我们的请求方式盖上。好,这时我们点击发送,然后我们再点击这个查看结果数,这是我们发送的请求,点击请求,这是我们发送的请求数据, 然后这里面有个响应数据,这是我们的响应回来了,从复习响应回来的数据,然后验证一下数据,其实他这个代码就是我们的,打九九折一样, ok。

那你说一下怎么用 jimmy 头找出某个接口的一个最大并发用处呢?嗯,用现成组设置并发用户数进行性能测试就可以了。面试官主要考察你有没有真正做过性能测试,有没有系统化的性能测试思维。可以设计一个阶梯的场景,然后呢,使用阶梯线程组, 每隔一段时间呢,自动的增加固定量的一个并发的用户数,然后通过这个监听器或者是监控的平台来查看运行的结果,来分析运行的结果,判断是否达到了一个性能瓶颈, 从而断定呢是否达到了一个最大并发用户数的一个区间。然后呢,再取这个最大并发用户数之间来缩小固定的一个地质部长,从而获得这个最大的一个并发用户数。

你说一下 tma 是怎么做接口测试的,然后你怎么去测试这个接口之间的关联呢?嗯,就是通过这 mit 中的 stp 请求,然后查看结果数来做,那至于这 mita 关联这边我好像没有做过, 你这个回答很不全面啊,我来给你说一下啊。首先呢我们做接口测试的流程是这样的,根据开发提供的这个接口文档呢,我们要先编写接口的测试用力,然后根据用力呢使用吉米特来进行测试。 那吉米特做接口测试的话,我们需要添加这个现场组啊, httb 的请求,然后在 httb 的请求当中呢,去设置好对应的地址和参数,以及要添加这个请求的头部信息啊,然后再添加这个查看结果数呢,来进一步的去查看一个响的结果, 对比接口中的用力呢?当中的预期呢?是不是符合一致的同步呢?我们还要检查数据过来确认接口数据的返回呢,是否是通过的。那另外的话,部分的数据呢,我们还要定义为用户备量来进行调用,那涉及到批量的测试呢,还要使用 csv 的 是原件的来进行读取数据,进行拆除霸主批量行驶。据这个接口关联的话,我们是用精英式的一个后置处理器,主要是这个接线提出器或者是正则本拿的处理器,比如说我们要获取这个通份,可以把这个提取到通份的值呢,然后呢赋予一个变量,然后在下一个接口来调回这个变量就可以了,这个流程你明白了吗?

费德罗、 pose 们、金蜜桃都可以做接口测试,但是区别是什么?费德罗虽然有接口测试功能,很少用来做接口测试,一般用非德来做抓包和一层测试。 辅助接口测试。 pose 们是接口调试工具,使用比较简单,容易上手。缺点是不能直接操作数据库。吉米条可以做接口手工测试、 自动化测试、性能测试。如果只考虑接口测试的话,没有 postman 方便。但是吉米特功能更强大,可以直接操作数据库。如果项目里这几个测试都需要做的话,右键吉米特 和基层性更高。被打了 pos 的呢?吉米特这三款工具学习视频建议全部免费公开,可看置顶留言。