00:01
Hello,大家好,我是fantastic,今天继续给大家分享Java与性能测试的内容,今天分享的主题呢,就是结果的串联,我们现在看到的还是上一次讲那个线程同步的一个测试类,这里面我把线程同步内容给删掉了,我们先看一下之前的一个逻辑,我们有一个类实现了一个接口软方法,我们先把这个方法关掉,这一个方法软方法里面是先登录。这个地方预计还是用那个抢红包那个场景,这是一个登录场景,其实解锁封装。OK,大概的就是这样,我们在MY方法里面通过一个service创建一个。呃,固定长度线程池这里写到十,之前写的是100,有点大,用用不着,这我们是循环的每一秒去往线程池里面去丢一个任务,那这个任务可以理解为一个线程的一个任务,这个。丢一个的一个接口,这个接口所说的内容呢,就是软方法登录完了之后去进行抢红包,这里我们进行下账。
01:06
这里面有些车型的结束整理数据这样的,在性能测试过程中通常都会有一些接口的串联。比较常见的第一个就是登录信息的一个串联,第二个就是接口的参数来源于另外一个接口的返回值,或者说是我们的值是通过读配的文件或者什么的拿到的,首先我们就例子就讲登录抢红包,我先写一个抢红包的一个方法,休眠100毫米,通常来说登录状态的。关联的,呃,C或者说是token,呃,一个字符串就对HTTP接口来说是这样的,这里我们就。以token的一个字符串例子来举例,然后我们都然后就不做判断了。一个字符串吧,返回一个,哦对,这个是方法呢,一个演示,待会再给大家演示一个啊啊对于项属性的方式就返回个空,比如说登录是这样的。
02:12
通常如果用静态方法的话,我们去要把token去存到某一个地方,或者说直接写死在的地方。也是可以的,针对于我们现在这个软方法是一个分析态方法,所以我们可以这么写,我们登录,假如说我们有一个通过一个用户的ID,这样这样加A就行啊,可以用得上这样获取一个用户登录的一个头,Ken,我们这个让package抢红包,猜可能有一个红包ID吧。Red ID,然后我们传一个token string token,如果我们传借材方法的话,就可以这样去做,我们在这里去调这个red token red ID的话,就用这token的话,假如说我们这里面用的是,哎,然后我们拿到一个token,我们这里就可以用token token来完成这个基本上。
03:11
我们。测试中单个任务的一个功能的一个实现,啊,这个逻辑就是。登录拿到一个token,这中间教验方法就省省略了啊,然后去循环的执行啊,抢红包的这个场景,我们的J也是通过这种哎,来随机输一个数字,如果我们只通过另外一个接口去拿到了这个接,我就登录完成之后再去拿一个红包的。比如说现在可用红包,可以被抢的红包的ID,我再过来抢红包,这是token,不具体怎么拿到token去发起这个警图命令,这个就不具体实现了啊,这就是一个简单的。使用静态方法去实现接口串联。的登录状态,登录用户的。登录状态进行这多个方法。中间进行一个串联。
04:01
下面呢,我再演示一下,如果我们使用非解裁方法,非解裁方法其实比这个要简单的多,OK啊啊,那我给你我们假设我们已经不用这个,嗯,里面是一个,呃,下几个那个。啊,就带刚才那个L了,我们这个UID,假如说我们创建的时候也把这个UID附进来,创建这个使着test的时候,我们这个UID弄进来,这个UID我们也随机附一个值吧,然后log in方法就可以返回。当前UID都登录,登录之后就会有ton,但这个返回还是不太好。那优我们这里把当前登录状态的token也做成了对象属性的方式,我们这个token这个时候我们这个log方法其实可以不返回,当然这里还需要做一些异常的处理,这里我就不写了,这里面我们就log给那这个。
05:04
Red pack技能这个其实也不用去写这个token了,我们直接可以用这个token,假如说我们用token的话,就是数数的话,可能会比较多,就用token的话,我想想。Token第二认,那假如说我们就求一下他认识这个使用token进行长红包的一个请求,OK,这里面然后还有一个boss,这个调用的时候不用再去抢这个抢这个。连这个红包ID,假如说我们还有一个,呃,获取包ID的一个。的接口的,我们就再写一个,因为红包ID有一个场景和加的爱的写,当前用户可抢到红包ID的话,我们占用一下头肯。使用token,然后获取一个ID,就会看看ID,我们假设为信,这是一个获取红包ID的方法,如果我们说这个红包ID有可能会实时变化,比如说可能有一个红包,十个红包是吧?啊,他十个人抢完了,他这个红包也就已经处于失效的一个状态,我们需要实时的去获取啊,我们就这里面假设它是实时获取的,我们这里面就应该去get出来的ID,这样就可以,但是这个用力其实测的逻辑其实是。
06:22
登录登录它循环这个过程,它执行的是两个步骤,就是先获取最新可用的红包ID,我们再去抢红包。这个过程中,假如说在我们获取到这个ID之后,在发起抢红包这个请求的这个时间段内。这个红包ID被抢完了,那我们抢红包就会失败。如果是这种红包是可以无限被抢,或者说是那种有限的只有一个红包的ID,但这个一个红包ID不确定,我们一般是这样做登录,呃,抢红包写在这有一个red ID,就这样,我这一次运行跟下一次运行红包ID可能不一样,但是我一次运行的过程中,这个红包是一样,我们就有这种写法,可能12点有一个是1万个红包的这样一个活动去抢。
07:16
这个非这个那啊没事,无所谓,这个非静态的使用对象属性去进行这种接口串联率已经完全展示完了,这就是使用加法。性能测试变成去做性能测试的时候,它的一个如何去串联。不同token或者说接口参数这样的一个写法。啊,自己使用的感觉来来说就是比啊get的工具要方便很多,我说这里面,而后我们get一个不款get一个list的吧,它是一个接身项,比如说我们获取到的想应结果是一个接身对象,呃,这里面就嗯这个杰森,大家这样,然后去处理杰森的时候,我不太熟悉工具,像杰特这种可能要写一个JA pass的语法,或者说写正则提取是这样的,但是在Java里面,假如说我们这里面有一个data塔的切身瑞的一个data数组,我们只需要取得塔的第一个值,Get塔阶零。
08:26
然后再再得1RE,比如说就叫re来利吧,然后就这得返回格来利,大家就这样就可以处理完,比如说我们获取再进行判断,比如说是假如说现在没有这个接口,这个get int value啊,它返回的int值,所以说int值可可以为零的,那我们get那个inte,它返回的是一个integer的值,这里面就有一点不太一样,这个之前给大家分享过,判断方法不一样,A等于N,它就假如说他们什么都没返回,或者说是在这一步F得塔等于或者得塔被空。
09:07
就RETURN0,直接RETURN0,稍微写的复杂了一点,那这样的话就我们获取到零,说明我们请求这个时机,它并没有可用的红包ID可以供我们用,我们这里话。可能就是如果if ID等于零,然后我们再重新的进行一个重试吧,可能sleep重试这样,大概是这样,我们在写这个。嗯,我们一般都写在这个ID里面,假,假如说这里面假设已经有出来的ID在,呃,循环方法的外层,所以我们进行重试一下,其不是影响。呃,测试结果的。已经重试完之后我们这里就可以。直接输入一个A为空啊测试OK,这个就已经拿到了一个。信息,其实我们如果没有红包ID的,这里面其实是不需要进行测试的,然后他这会抛出异常,只要开启之后会把打开异常日志或者发个。
10:06
错误消息,这样的我们就可以进行这个测试了。这个我看要不要执行一下,好像不能执行,因为这儿应该会有一个。碰到一个报错,在这一步的话就会报错,今天的分享就到这里了,这就是。去处理串联用户登录状态的一个DEMO。个人感觉还是非常方便的,这从这一开始我们基本上就可以看到用。Java语言去做性能测试,去处理性能测试中各种的。呃,功能点或者说疑难点是远比工具要方便的多的,OK,拜拜,我们下期再见。
我来说两句