苹果手机性能测试,手机性能测试工具怎么用,苹果手机测试性能软件
【无量测试之道】请关注公众号并回复【接收资源】。
计算机编程语言编程学习资源的晾衣架、
Python Appium框架应用的用户界面自动化、
Python Selenium框架网的用户界面自动化、
计算机编程语言单元测试框架应用程序接口的自动化、
资源和代码免费送到~
文章下方有公众号二维码,直接微信扫清关注即可。
一、创建项目
使用传送非创建项目模板
1、"把激光唱片发到制作这个项目的文件夹下"
2、输入:mvn原型:生成#加载完成后
3、输入:筛选门#门的传送非原型模板
4、输入:1 #只能筛选一个,输入一即可
5、输入: 20 #要安装的序列号版本,20为gatling2.3.1
6、输入:com.klicen # groupid组名称,一般为XX .xx第一个xx为域com、cn、org等,第二个xx为公司名称
7、输入:klicen # artifactId坐标ID,通常为项目名称,在当前目录中创建同名文件夹
8、输入: 1.0 #版本名称
9、输入:klicen #包装包名称
10、输入:Y #确认
二、IntelliJ IDEA导入项目
1、导入项目- -点击文件-打开-选择刚才创建的项目模板进行导入
2、安装了斯卡拉插件,可以在活力上直接本地安装
3、在项目src/测试/scala下创建斯卡拉类
以下示例:
包装cnblogsCase
import io.gatling.core.Predef._
import io.gatling.http.Predef._
导入Scala.concurrent.duration
类postdemoextendessimulation {
val url=https://XXXXXXX.com
val path=/path/confirm
val content= { date : 2019 01 23 }
val headers _ JSON=map { content-type - application/JSON }
valdates=CSV(测试CSV)。随意
val httpConf=http.baseUrl(url)
valSCN=Scenario(postJSONofAPI))。种子(日期).执行(
HTTP(postAPI)。帖子(路径)。headers(headers_JSON))。检查(状态为(200))。body(字符串体(((((date():()$ { times }()))
) )
}
描述:上面的代码实现了邮政方法请求的美国石油学会(美国石油协会)的请求格式和回复状态
4、将此包裹文件夹复制到e: all Gatling Gatling-exe user-files simulations
5、在e :allGatlingGatling-exebin下运行加特林。蝙蝠文件
e: all Gatling Gatling-exe bin Gatling。蝙蝠
Gatling _ homeissetto e: all Gatling Gatling-exe
Java= d: program files Java JDK 1。8 .0 _ 131 bin Java。exe
选择模拟编号:
[0] cnblogsCase.baidu
[1]计算机数据库。基本模拟
[2]计算机数据库。高级。高级模拟步骤01
[3]计算机数据库。高级。高级模拟步骤02
[4]计算机数据库。高级。高级模拟步骤03
[5]计算机数据库。高级。高级模拟步骤04
[6]计算机数据库。高级。高级模拟步骤05
6、在列表中选择0 【[0] cnblogsCase.baidu,我们写好的脚本】
7、可以查看报告:如下:
模拟cnblogsCase.baidu秒完成
正在解析日志文件.
解析日志文件完成
生成报告.
全球信息
请求计数36 (OK=36 KO=0)
最小响应时间18 (OK=18 KO=-)
最大响应时间1106 (OK=1106 KO=-)
平均响应时间518 (OK=518 KO=-)
标准偏差288 (OK=288 KO=-)
响应时间第50百分位573 (OK=573 KO=-)
响应时间第75百分位671 (OK=671 KO=-)
响应时间第95百分位991 (OK=991 KO=-)
响应时间第99百分位1100 (OK=1100 KO=-)
平均每秒请求数为0.346 (OK=0.346 KO=-)
响应时间分布
t 800 ms 31 ( 86%)
800毫秒t 1200毫秒5 ( 14%)
t 1200毫秒0 ( 0%)
失败0 ( 0%)
或
格林机关枪的变量的值至少有如下几种来源:
1、使用进给器——文件、数据库
2、从响应中提取数据并保存它们,例如使用HTTP检查的另存为——从请求的返回值中提取和保存内容
3、手动使用会话API——用各种爪哇岛提供的函数生成,缺点是可能影响一点性能
三、虚拟用户场景
例如:setUp( scn.inject( nothingFor(4秒))。协议(httpConf))
1、无(持续时间):设置一段停止的时间;不解释
2.atOnceUsers(nbUsers):立即注入一定数量的虚拟用户;
设置(scn.inject(atOnceUsers(50))。协议(httpConf))
3.ramp users(nb users)over(duration):在指定的时间内,设置一定数量的虚拟用户逐步注入;
setUp(SCN . inject(rampUsers(50)over(30秒))。协议(httpConf))
4.恒定用户训练(率)持续时间(duration):定义恒定的每秒并发用户数,持续指定时间;
setUp(SCN . inject(constantUsersPerSec(30)during(15秒))。协议(httpConf))
5.constant Userspersec(rate)Duration(Duration)Randomized:定义一个每秒围绕指定并发数随机增加或减少并持续指定时间的并发;
设置(SCN . inject(constantUsersPerSec(30)during(15秒)随机化)。协议(httpConf))
6.rampuserspesec(rate 1)to(rate 2)duration(持续时间):定义一个并发间隔,运行指定时间,并发增长的周期是一个正则值;
setUp(SCN . inject(rampuserspesec(30)到(50)期间(15秒))。协议(httpConf))
7.rampuserspesec(rate 1)to(rate 2)Duration(持续时间)随机化:定义一个并发间隔,运行指定时间,并发增长的周期为随机值;
设置(SCN . inject(rampuserspesec(30)到(50)期间(15秒)随机)。协议(httpConf))
8.heavisi deusers(nb users)over(duration):定义一个连续并发,它围绕着平滑逼近Hayside函数的增长,持续指定的时间(译者解释Hayside函数,H(x)在x0时返回1,x0时返回0,x=0时返回0.5。实际中,并发数是一条平滑的抛物线);
setUp(SCN . inject(heav isideusers(50)over(15秒))。协议(httpConf))
9.将用户(nbUsers)拆分成由(duration)分隔的(injectionStep):定义一个周期,执行注入步骤中的注入,平均分配NBUSERS的请求;
setUp(SCN . inject(split users(50)into(rampUsers(10)over(10秒))separatedBy(10秒))。协议(httpConf))
10.将用户(nbusers)拆分成由(injectionStep2)分隔的(injectionStep1):以injection step 2为一个循环,将injection step 1分开,直到用户数达到nb users;
setUp(SCN . inject(split users(100)到(rampUsers(10)中超过(10秒))由原子吸收仪(30)分离。协议(httpConf))
请求限制(原文是节流)
如果希望设置每秒的请求数而不是每秒的并发数,应该考虑使用constantUsersPerSec(…)来设置用户的到达率。在大多数情况下,请求是不必要的,或者至少是多余的。
但在某些情况下,我们需要使用加特林自己的节流方法来限制请求的数量。
注意
-我们仍然需要将虚拟用户注入场景级别。该请求仅用于设置给定场景中的特定吞吐量,以及要注入的用户数量和持续时间。这是设置一个瓶颈,也是一个上限。如果没有设置足够的用户,将不会达到此限制。如果注入的持续时间没有达到请求限制的设置,模拟将在所有虚拟用户完成后终止。如果注射时间超过请求限制的设置,请求限制将生效并阻止模拟的执行。
-可以在每个场景中配置请求限制,点击此处了解更多信息:http://Gatling.io/docs/2.1.7/general/scenario.html #场景-节流
setUp(SCN . inject(constantUsersPerSec(100)during(30分钟)))。油门(
在10秒内达到100分,
保持(1分钟),
跳跃者(50),
保持(2小时)
)
解释上面的代码:
模拟会限制每秒100个请求10秒,然后维持这个吞吐量1分钟;然后跳到每秒50个请求,并将这个吞吐量再保持2个小时;
此代码块中设置的请求限制如下:
-reachRps(target) in (duration):设置一个恒定的吞吐量,并保持一段时间;
-jumpToRps(目标):立即将极限切换到另一个吞吐量;
-holdFor(duration):保持当前吞吐量一定时间;
备注:我的个人公众号已正式开通,致力于测试技术的分享,包含:功能测试,测试开发,API接口自动化、测试运维、UI自动化测试等,微信搜索公众号:“无量测试之道”,或扫描下方二维码: