**
1. 如何在gitlab中进行拉取代码 如何上传
1、首先需要使用github的注册账号登录gitlab,查看右上角用户头像处的settings,
2、在用户设置settings处找到SSH Keys,
3、如果你的电脑中没有SSH Key,那就需要生成一个,
按照相关提示生成SSH Key,使用git工具,右键打开git bash here,在命令行中输入ssh-keygen -t rsa -C "your_email@example.com",此处邮箱地址是你github注册邮箱地址哦。然后一路回车就好了。接下来就按照有SSH Key的步骤来操作了。
如果电脑中没有SSH Key,那就找到相关文件夹中的文件,
一般是在这里,总之是在.ssh文件夹下的id_rsa.pub文件中,
把id_rsa.pub里的内容复制粘贴到gitlab中的key当中,
最后点击Add Key按钮,就会生成SSH Key了。
4、现在我们就可以在git 工具下用git clone来克隆你想要操作的文件了,git clone 文件路径,
5、git pull就可以把你的代码拉下来了,现在你可以增删改查你的代码了。
6、代码修改完成了,你想把你的代码重新放到gitlab上去,执行命令 git add .,此处需要注意,add后面是“空格”和“.”,
7、添加完了需要提交 ,执行命令git commit -m '备注信息(提交的什么内容)',
8、此刻你可以将你的代码推送到远程仓库了,执行命令 git push,这样你的代码基本上就被重新放到了gitlab上了。
**
**
2.Charles抓包 针对是http请求或者是https请求如何抓包
HTTP抓包
(1)查看电脑IP地址
windows:win+R-->cmd-->ipconfig
(2)设置手机HTTP代理
手机连上电脑,点击“设置->无线局域网->连接的WiFi”,设置HTTP代理:
服务器为电脑IP地址:如192.168.1.169
端口:8888(一般我设置为4个8)
设置代理后,需要在电脑上打开Charles才能上网
(3)电脑上打开Charles进行HTTP抓包
手机上打开某个App或者浏览器什么的,如果不能上网,检查前面步骤是否正确
点击“Allow”允许,出现手机的HTTP请求列表HTTPS抓包
HTTPS的抓包需要在HTTP抓包基础上再进行设置
以下为在HTTP抓包基础上进行HTTPS抓包的进一步设置步骤:
(1)安装SSL证书到手机设备
点击 Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device
出现弹窗得到地址 chls.pro/ssl 或者 charlesproxy.com/getssl 手机安装SSL证书的地址
在手机浏览器输入地址 chls.pro/ssl 或者 charlesproxy.com/getssl ,出现证书安装页面,点击安装(根据不同机型进行相应的安装)
注意1:Safari浏览器输入这个网址chls.pro/ssl安装不了证书的情况,
设置好手机HTTP代理 电脑上Charles要开着
注意2:iOS 10.3系统,需要在 设置→通用→关于本机→证书信任设置 里面启用完全信任Charles证书
(2)Charles设置Proxy
Proxy -> SSL Proxying Settings...
勾选Enable SSL Proxying,点击Add
Host设置要抓取的https接口,比如想抓这个
Host填写:https://api.weibo.cn
Port填写:443
(3)进行HTTPS抓包
让手机重新发送https请求,可看到抓包
注意:
1、不抓包请关闭手机HTTP代理,否则断开与电脑连接后会连不上网
2、如果电脑浏览器上不去网,检查一下浏览器的网络设置是否设置了代理
替换数据
1.本地替换(实现步骤)
1.打开Charles,在你抓取的接口地址的地方,右键。
2.点击Map Local,然后会进入一个设置页面
3.点击Choose,选择本地的一个文件即可,此文件就是本地数据,可以编写。
2.断点替换(实现步骤)
1.打开将要访问的网址,通过charles抓到想要修改数据接口
2.点击右键勾选BreaKpoints
3.点击charles工具proxy_Breakponts
4.弹出Breakpoints settings弹层
5.双击Location中的想要打断点的接口,弹出Edit Breakponts
6.将Quer中的内容删除 输入*
如果修改Request数据,就将Request勾选
如果修改Response数据,就将Response勾选
7.重新访问该接口,charles自动跳转到breakponts页面
8. 修改Response数据,点击Edit Response 切换底部tab至text 修改所需要的数据
9.修改数据后,点击Execute,查看访问的页面,数据将会显示已修改的Response数据
**
**
3.测试用例的编写(测试方法/测试策略 )
在项目中如何对功能的测试用例编写
任意的测试用例都是通过 (功能 性能 兼容 安全 网络)
**
**
4.Mysql的语法
多表联查 子查询 聚合查询 排序查询
多表联查内链接:只查询左右2张表中相同的记录 inner join
语法:select 列1, 列2, 列3, ...
from 表1
inner join 表2 on 表1.列x = 表2.列y示例:select studentname, age, phone, classname
from student
inner join classinfo on student.classid = classinfo.classid
左外链接:查询左右2张表中相同的记录 + 左表未匹配的记录(右表字段为NULL) left outer join语法:select 列1, 列2, 列3, ...
from 表1
left join 表2 on 表1.列x = 表2.列y右外链接:查询左右2张表中相同的记录 + 右表未匹配的记录(左表字段为NULL) right outer join
语法:select 列1, 列2, 列3, ...
from 表1
right join 表2 on 表1.列x = 表2.列y完全链接:对左右2张表中的记录做笛卡尔积 cross join
语法:select 列1, 列2, 列3, ...
from 表1
cross join 表2子查询
定义:在查询语句中,又嵌套了另外一个查询语句。
聚合函数
1.count() : 获取记录的行数
2.sum() : 对指定字段进行求和
3.avg() : 对指定字段进行求平均值
4.max() : 对指定字段求最大值
5.min() : 对指定字段求最小值
排序
语法:select 字段1, 字段2, ... from 表名 where 条件 order by 字段 [asc|desc]
asc :升序
desc :降序
默认是升序asc
SELECT * FROM student ORDER BY age ASC, studentid ASC;
**
**
5.jmeter 性能测试
针对http请求
步骤:
- 在测试计划中 添加线程组
- 在线程组中 添加http请求
- 在http请求中进行添加元素
4.添加响应断言
5.添加查看结果树
6.添加聚合报告
请求方式的种类有:
针对https请求:
步骤:
1. 在使用https协议的时候需要下载并安装证书下载需要在网址的url地址栏中点击锁
2. 一路下一步直至导出证书.cer文件
3. 将.cer文件编译成.store 需要使用jdk目录下的bin文件下的keytool.exe文件
在黑白窗口中使用命令
Keytool -import -alias "jiuyue.store" -file "C:/Users/Administrator/Desktop/a.cer" -keystore "C:/Users/Administrator/Desktop/jiuyue.store"
4.在jmeter中添加线程组
5.添加http请求
6.添加断言 因为是向服务器发出请求 得到的测试模式为抓包 得到的json
7.添加结果树 如果需要进行压力测试 50个线程在30s内同时发布10个请求
8.在聚合报告中可以查到结果( 聚合报告 能够看到的数据有哪些。)
或者在图形结果
jmeter 脚本录制(步骤)
脚本录制方式有2种
录制web端
- 使用第三方的badboy的软件
在url地址栏中输入一系列的业务需求 打开不同的页面以及参数
点击红点 停止录制
在file菜单中选择 export jmeter 会生成.jmx文件
打开jmeter中选择文件中的打开
会自动生成一个线程组 在线程组中的步骤是具体的每一个接口
任何一个http请求 都会自动生成 路径。方式。。。。。
在结合响应断言 查看结果树。。
有可以对其使用弱网测试 压力测试 性能测试
使用badyboy录制的大多数都是web项目或者是后台开发
录制移动端
2. 使用jmeter的代理录制
使用android的项目可以使用jmeter的代理
需要在jmeter工具和手机端都要安装证书(jmeter的证书)
* Pc端和手机处以同一网络下(手机设置手动代理)
在添加线程组-->httpcookie管理器
在工作台上添加http代理服务器
在代理服务器上添加端口号 以及目标控制器 分组
点击 启动按钮后会弹出对话框 安装证书
在选项中选择ssl管理器 给jmeter导入证书
启动手机上需要测试的App,进行业务操作,可以看到线程组抓到app上发出的请 求
录制完成,停止jmeter上的http代理服务器, 要不会一直抓包,线程组中会有很多无用的请求
在线程组中删除无关的请求
保存jmx脚本
添加查看结果树
回放
在移动端进行安装证书 将后缀名为crt的文件拖入到手机中或者是在文档根目录
- 拖拽到移动端然后自动安装
- 在跟目录下使用证书安装程序的方式进行安装
- 在设置中-->安全-->从sd卡中安装证书
Jmeter 压力测试(在线程组中进行添加 线程个数)
1.创建线程组
在“测试计划”上右键 【添加】-->【Threads(Users)】-->【线程组】。
设置线程数和循环次数。我这里设置线程数为500,循环一次。
2.配置元件
在我们刚刚创建的线程组上右键 【添加】-->【配置元件】-->【HTTP请求默认值】
配置我们需要进行测试的程序协议、地址和端口
所有的接口测试的访问域名和端口都一样时,可以使用该元件,一旦服务器地址变更,只需要修改请求默认值即可。
3.构造HTTP请求
在“线程组”右键 【添加-】->【samlper】-->【HTTP 请求】设置我们需要测试的API的请求路径和数据。我这里是用的json
4.添加HTTP请求头
在我们刚刚创建的线程组上右键 【添加】-->【配置元件】-->【HTTP信息头管理器】。
因为我要传输的数据为json,所以设置一个 Content-Type:application/json
5.添加断言
在我们刚刚创建的线程组上右键 【添加】-->【断言】-->【响应断言】。
根据响应的数据来判断请求是否正常。我在这里只判断的响应代码是否为200。还可以配置错误信息
Jmeter的参数化关联
方式1 用户参数之间关联
- 添加用户参数
- 添加变量名以及变量值 可以添加多个用户
3.在http请求中引用
方式2
1 添加配置原件 -->csv datesetconfig
2 在源文件中只写变量值不需要变量名、 单行为多个变量值用,
3.在http请求页面 需要引用以${变量名}的方式
方式3 连接数据库
- 使用猫抓导出向导-->选择导出类型为 .csv文件-->选择导出的表-->选择导出的字段-->点开始
- 沿用方式2来实现
方式4 函数助手
可以理解为固定手机前三位 后面的8为数字随机 密码固定
可以使用多线程的方式来验证 注册是否成功
Jmeter 弱网测试
一、业务需要,有时限制网速会更加符合实际,测试出真实的响应时间情况
找到apache-jmeter-3.2/bin/jmeter.properties文件
找到参数,分别为限制http即https
#httpclient.socket.http.cps=0#httpclient.socket.https.cps=0
计算逻辑:cps = (target bandwidth in kbps * 1024) / 8,
所以cps=B/s的速率二、对于网络带宽的换算
1、网络速率
100Mbps=100Mbit/s即兆比特每秒
100MB/s=100MBytes/s即兆字节每秒
1B=8bit
100Mbps=12.5MB/s,理论上平常的百兆带宽下载速率可以达到12.5MB/s
100MB/s=100*1024KB/s=100*1024*1024B/s
2、数据存储
对于数据硬盘之类的存储换算比较不同
数据存储是以10进制表示,1MiB=1000KB三、jmeter分别配置不同的cps测试响应时间的变化
默认情况下该接口,内网测试如下
响应时间很小,设置cps=40KB/s=40*1024B/s=40960,查看网络延迟情况
可以看到平均网络延迟了1分多钟
**
**
6.禅道的使用 jira的使用
**
**
7. 测试流程
- 将所有的经理根据客户需求来编写需求文档
- 开发根据需求文档来编写代码 测试需要根据需求文档 编写测试计划
- 开发人员实现代码测试人员编写测试用例
- 编码结束之后由开发人员将代码上传 测试人员需要将代码下载并实现冒烟测试 冒烟测试通过后在实现全面测试(如果发现bug 需要将bug提交给开发人员 开发解决问题之后测试人员需要进行回归测试)
- 测试人员需要将测试报告以及测试用例整理文档方便项目版本迭代的使用
**
**
8. 开发流程
.开发流程:需求分析,概要设计,详细设计,编码,测试,软件交付,用户验收,维护
**
**
9.Adb moneky linux命令 至少10条
adb命令:
1.清除指定应用缓存: adb shell pm clear 包名
2.获取设备列表: adb devices
3.终止adb进程: adb kill-server
4.获取当前手机所有的包名: adb shell pm list packages
5.获取应用路径: adb shell pm path 包名
6.列出目录内容: adb shell ls
7.展示所有文件:ls
8.切换目录:cd 文件名字
9.打印日志文件: adb logcat
10.查看adb命令帮助信息:adb help
11.获取管理员权限:adb rootmonkey命令:
1.查看设备的链接情况:adb devices
2.手机里面的软件随机点击:adb shell monkey 1000
3.启动一个包名():adb shell monkey -p com.tencent.mobileqq 1000
4.指定多个包名:om.tencent.mm
adb shell monkey -p com.tencent.mobileqq -p com.tencent.mm 1000
5.操作日志:adb shell monkey -p com.tencent.mobileqq -v -v 100
6.--help:打印帮助信息
7.-v:指定打印信息的详细级别,一个 -v增加一个级别 , 默认级别为 0 。
8.--ignore-crashes:忽略崩溃
9.--ignore-timeouts:忽略超时
10.--ignore-security-exceptions:忽略安全异常
11.--kill-process-after-error:发生错误后直接杀掉进程
12.--monitor-native-crashes:跟踪本地方法的崩溃问题
13.--wait-dbg:知道连接了调试器才执行monkey测试。linux命令:
1.cd / 切换到根目录
2.cd /usr 切换到根目录下的usr目录
3.cd ../ 切换到上一级目录 或者 cd ..
4.cd ~ 切换到home目录
5.cd - 切换到上次访问的目录
6.ls 查看当前目录下的所有目录和文件
7.ls -a 查看当前目录下的所有目录和文件(包括隐藏的文件)
8.ls -l 或 ll 列表查看当前目录下的所有目录和文件(列表查看,显示更多信息)
9.ls /dir 查看指定目录下的所有目录和文件 如:ls /usr
10.mkdir aaa 在当前目录下创建一个名为aaa的目录
11.mkdir /usr/aaa 在指定目录下创建一个名为aaa的目录
12.rm -r aaa 递归删除当前目录下的aaa目录
13.rm -rf aaa 递归删除当前目录下的aaa目录(不询问)
14.rm 文件 删除当前目录下的文件
15.rm -f 文件 删除当前目录的的文件(不询问)
**
**
10. arraylist 和 linkedlist的区别 冒泡排序 单例模式(手写)
arraylist 和 linkedlist的区别
不同点:
1、ArrayList是基于数组实现的;LinkedList是基于链表实现的;
2、ArrayList随机查询速度快;LinkedList插入和删除速度快;
原理解析:
ArrayList是基于数组实现的,他的特性就是可以使用索引来提升查询效率;插入和删除数组中某个元素,会导致其后面的元素需要重新调整索引,产生一定的性能消耗;
LinkedList是基于链表实现的,没有索引,所以查询效率不高,但是插入和删除效率却很高;为什么呢?因为链表里插入或删除某个元素,只需要调整前后元素的引用即可;
冒泡
单例模式
**
**
11.Python selenium的结合 在selenium的原宿定位方式 显示等待 隐式等待 强制的区别 测试报告
selenium的原宿定位方式
通过id执行翻页
通过name进行登录
3.通过class_name执行翻页
4.通过tag_name来执行
5.通过link_text执行标签检索并进入
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191104205342636.png)
6.通过partial_link_text执行标签检索并进入(模糊查询)
7.通过xpath地址进入详情(使用inspect in FirePath进行来选择元素并选择xPath路径地址并复制,粘贴到代码的xPath路径中)
8.通过css_selector选择器定位,查看元素,选择元素,点击列表中的item的标题,将选中的右键选择唯一选择器进行复制
9.通过使用find_elements_by_css_selector查找当前列表所有的标题以及连接地址,查看元素,选择元素,点击列表中的item的标题,将选中的右键选择唯一选择器进行复制,将div.item后的:以及nth - child(2)删除,列出当前列表所有的
显示等待 隐式等待 强制的区别
强制等待
time.sleep()
设置固定的线程休眠时间。显示等待
比如:
driver = webdriver.Chrome()
driver.get(‘http://www.baidu.com’)
element = WebDriverWait(driver,5,0.5).until(EC.presence_of_element_located(By.ID,‘kw’))
element.sendkeys(‘selenium’)
说明:显示等待是单独针对某个元素,设置一个等待时间如5秒,每隔0.5秒检查一次是否出现,如果在5秒之前任何时候出现,则继续向下,超过5秒尚未出现则抛异常。隐式等待
implicitly_wait()
比如:
driver.implicitly_wait(10)
说明:隐式等待是全局的是针对所有元素,设置等待时间如10秒,如果10秒内出现,则继续向下,否则抛异常。可以理解为在10秒以内,不停刷新看元素是否加载出来。
**
**
12.Python appnium的结合使用
**
**
13.白盒 jemter+jinkens+ant (接口自动化)
1.jmeter的安装以及环境变量的设置
在dos命令中执行jmeter
Jmeter_home
环境变量Path
2.jmeter 默认生成的测试报告的后缀为.jtl格式 修改成mxl
在jmeter文件下bin\jmeter.properties中将
jmeter.save.saveservice.output_format=csv修改为xml并解开注释
3.将apacheAnt.rar 实现解压
4.实现将ant和jmeter实现关联
通过在jmeter文件夹下extras/ant-jmeter-1.1.1.jar取覆盖到ant下
lib文件夹
5.配置框架结构
自定义文件夹 JTest
将能和jmeter关联的ant文件复制到
F:\JTest\apacheAnt(替换过jar包的ant)
F:\JTest\JmeterAutoTest\pc\resultlog\jtl (jmeter自动生成的测试报告但是看不懂)
F:\JTest\JmeterAutoTest\pc\resultlog\html (使用ant将jtl的测试报告转换html)
F:\JTest\JmeterAutoTest\pc\script (用来存放脚本 .jmx文件)
6.配置ant的环境变量
Ant_home F:\JTest\apacheAnt
Path F:\JTest\apacheAnt\bin
在dos命令行输入 ant -version 来验证ant配置成功
7.将测试报告发送到邮箱
activation-1.1.jar
commons-email-1.1.jar
mail-1.4.jar
复制到ant下的lib文件夹下实现替换
8.Ant的执行时通过buid.xml来执行
将buid.xml 存放到
F:\Test\JmeterAutoTest\pc\build.xml(因为要执行的时pc的测试报告)
更改buid.xml文件的7个地方
9.将.jmx文件放入到script文件夹下
10.在buid.xml文件存放的的目录下 使用dos命令 ant即可生成测试报告并发送
**实现jenkins构建定时机型自动执行脚本后者是批量执行脚本**1. 配置tomcat
在启动tomcat的出现闪退的现象
1.java的环境变量
2.Tomcat的端口号被账号 8080
2. 将jenkins.war文件放入到tomcat的webapps文件夹下
类似于 将一个项目以war包的方式放入到tomcat环境下
D:\apache-tomcat-8.0.44\webapps (目录下放入war包)
打开浏览器 输入
http://127.0.0.1:8080/jenkins
3. 在jenkins中进行新建任务
在item中自定义项目名称
在选择自由风格的软件项目
点击ok
在构建触发器中进行选择 定时的构建
Build periodically
在构建中
点击保存
在返回控制面板中进行立即构建
--------------------------------
在构建jenkins中的触发器中的日期
规则:
* * * * *(五颗星 中间以空格的方式)
第一颗 * 表示分钟 取值范围 0-59
第二颗 * 表示时 取值范围 0-23
第三颗 * 表示天 取值范围 1-31
第四颗 * 表示月 取值范围 1-12
第五 * 一周中的第几天 取值范围 0-7 (0 7 代表的时周日)
每30分钟构建一次
H/30 * * * *
每2个小时构建一次
H H/2 * * *
每天早上 8点 12点 22点多个时间点进行构建
* 08,12,22 * * *
----------------------------------
**
**
14.Loaderrunner 行测测试(性能指标 cpu 内存 网络 响应时间 吞吐量)
性能测试的本质就是:
基于协议模拟用户发出请求(业务的模拟),对服务器形成一定的负载,
来测试服务器的性能指标是否满足要求
在测试过程中的性能指标的体现为 1.响应时间2.并发用户数3.吞吐量 4.tps 5.资源利用率
响应时间:
指应用系统发出请求开始到客户端接受到所有的数据所消耗的时间
网络传输时间为 n1+n2+n3+n4
应用延迟时间为 a1+a2+a3
数据库延迟时间
应用服务器延迟时间
并发用户数
在同一时间内对服务器进行数据交互的所有用户数量
如果有1000万在线用户 需要测试1000个并发用户即可 OA(办公自动化)一般在线的用户为5%--20%
并发请求数
吞吐量
单位时间内对服务器处理请求数量一般是以秒来进行计算 测试的是服务器的承载能力
F= vu*r/T(Vu是指模拟用户数量、Vu是指模拟用户数量、 T 测试时间)
吞吐率 在单位时间内从服务器返回得到的字节数
吞吐率 = 吞吐量/测试时间
Tps
每秒处理的事务数
资源利用率 cpu 利用率 不能超过70%-80%
内存 80%以内
磁盘 80%以内
带宽
性能测试的划分:
负载测试:
通过在被测系统上不断加压,直到性能指标达到极限,例如“响应时间”超过预定指标或都某种资源已经达到饱和状态。
特点:
1、这种性能测试方法的主要目的是找到系统处理能力的极限。
2、这种性能测试方法需要在给定的测试环境下进行,通常也需要考虑被测试系统的业务压力量和典型场景、使得测试结果具有业务上的意义。
3、这种性能测试方法一般用来了解系统的性能容量,或是配合性能调优来使用。
也就是说,这种方法是对一个系统持续不段的加压,看你在什么时候已经超出“我的要求”或系统崩溃。压力测试(强度测试):
压力测试方法测试系统在一定饱和状态下,例如cpu、内存在饱和使用情况下,系统能够处理的会话能力,以及系统是否会出现错误
特点:
1、这种性能测试方法的主要目的是检查系统处于压力性能下时,应用的表现。
2、这种性能测试一般通过模拟负载等方法,使得系统的资源使用达到较高的水平。
3、这种性能测试方法一般用于测试系统的稳定性。也就是说,这种测试是让系统处在很大强度的压力之下,看系统是否稳定,哪里会出问题。
并发测试:
并发测试方法通过模拟用户并发访问,测试多用户并发访问同一个应用、同一个模块或者数据记录时是否存在死锁或其者他性能问题。
特点:
1、这种性能测试方法的主要目的是发现系统中可能隐藏的并发访问时的问题。
2、这种性能测试方法主要关注系统可能存在的并发问题,例如系统中的内存泄漏、线程锁和资源争用方面的问题。
3、这种性能测试方法可以在开发的各个阶段使用需要相关的测试工具的配合和支持。也就是说,这种测试关注点是多个用户同时(并发)对一个模块或操作进行加压。
配置测试:
配置测试方法通过对被测系统的软\硬件环境的调整,了解各种不同对系统的性能影响的程度,从而找到系统各项资源的最优分配原则。
特点:
1、这种性能测试方法的主要目的是了解各种不同因素对系统性能影响的程度,从而判断出最值得进行的调优操作。
2、这种性能测试方法一般在对系统性能状况有初步了解后进行。
3、这种性能测试方法一般用于性能调优和规划能力。也就是说,这种测试关注点是“微调”,通过对软硬件的不段调整,找出这他们的最佳状态,使系统达到一个最强的状态。
可靠性测试:
在给系统加载一定业务压力的情况下,使系统运行一段时间,以此检测系统是否稳定。
特点:
1、这种性能测试方法的主要目的是验证是否支持长期稳定的运行。
2、这种性能测试方法需要在压力下持续一段时间的运行。(2~3天)
3、测试过程中需要关注系统的运行状况。
也就是说,这种测试的关注点是“稳定”,不需要给系统太大的压力,只要系统能够长期处于一个稳定的状态。
Loadrunner:
- 创建虚拟用户
- 真实的负载
- 定位性能问题
- 重复测试
Loadrunner的四大组件:
VuGen 控制器 负载发生器 分析器
VuGen 用于捕捉用户的业务流并将其录制脚本
Controller控制器 1.设计场景 2.场景的监控(用于对资源利用的监控 为了检测出 系统资源的上线)
Load Genertaors 负载发生器 模拟用户对服务器的提交请求
Analysis 分析器 对测试结果进行分析(合并 叠加 页面细分 钻取)
测试报告(xml格式 world格式)
Loadrunner的工作流程:
- 使用VuGen来设计脚本
- 使用controller来设计场景并执行场景
- 虚拟用户并实现发生
- 将发生结果进行分析并生成测试报告
**