检查点,Block块,参数化
l 检查点:每次运行时检查服务器返回的数据是否正确,节省人工检查的时间(压测中数据传输次数过多,页面可能会产生传递混乱)
l 检查点函数:web_find
l 检查点类型:文本检查点;图片检查点
l 检查点目的:验证测试过程中步骤是否正确执行(检查事务是否被正确的执行)。如飞机订票系统的登陆模块,判断用户是否登陆成功
l 插入检查点:
1、将视图模式设为Tree view视图模式

2、在要插入检查点的位置右击,选择插入在前面还是后面

3、选择要插入检查点的类型和插入检查点函数
检查点的类型:Test check和image Check
检查点函数:web_find 和web_reg_find


(1)web_find()函数:在页面中查找相应内容;只能在html模式录制的脚本进行查找;必须写在所查找内容所在页面的后面;不返回查找结果;执行效率低
(2)web_reg_find()函数:在缓存中查找相应内容;必须写在要查找内容的请求之前;通过SaveCount判断所查找的内容出现的次数来判断事务是否执行成功
6.2 Block(块)技术
一个脚本中有多个业务(如登陆、注册、查询),每个业务执行的次数不同时使用block技术
(1)Vuser菜单--Run time Settings--Run logic
(2)选择Run ,插入一个block:点击insert Block按钮
(3)点击新增的block,在弹出的对话框中选择要添加的action
(4)根据需要建立多个block,并在里面添加action
(5)将block外面的action删除
(6)设置Block Properties,双击block在弹出的对话框里设置:Sequential按输入的次数执行,Random是指block内的各个action执行的百分比
(7)一个action的迭代次数=所在block执行次数*Number of Iterations

6.3 参数化技术
参数化:对于脚本中的一些常量,使用参数来代替。
参数的数据源可以用文本文件也可以用数据库。
参数化过程体现了数据驱动的思想,即测试脚本与测试数据分离的思想;脚本体现流程,数据体现测试案例
参数化原因:(1)减少脚本数量;(2)更接近真实客户业务
需参数化的条件:
(1)日期时间(如订票,20号写的脚本订票日期为20号之后,25号之后再运行脚本的订票日期错误);
(2)唯一性约束(数据库主键唯一性约束,如注册用户的ID为主键时,不能多次注册同一个用户ID)
(3)数据约束(要提交的业务数据必须每次都不同)
(4)缓存数据约束(每次查询条件一致时,数据存储在缓存中,直接从缓存取,不会去内存中重新取,测出来的时间不准确)
如何创建参数:
脚本中选中要参数化的常量右击-Select Create Parameter
参数类型属性:(1)date/time日期时间参数类型(2)Group name(组名)参数类型(3)Interation Number(迭代编号参数类型)(4)负载发生器名参数类型(5)随机数参数类型(6)Unique Number唯一数参数类型

数据文件
设置参数的数据源
修改参数文件的路径
将绝对路径改为相对路径
导入数据
参数化过程应注意:
① 参数化文件尽可能少,应为参数是放在内存中的
② 参数化文件与脚本分离
③ 参数文件为相对路径(防止换电脑执行脚本时路径找不到)
④ 参数从历史数据库中获得,更具有真实性
⑤ 参数类型的选择
⑥ 参数的数据由事务决定
检查点,Block块,参数化的更多相关文章
- iOS之block块
Block块. 1.声明Block int (^myBlock)(int n) = ^(int num) 类型 (^名称)(需要传的参数)= ^(参数) 2 __block 变量 在block块中修改 ...
- Linux内核系列之Block块层(一)
.Block块层入口函数为 genhd_device_init(),先对该函数开始分析: 函数实现源码: static int __init genhd_device_init(void) { ...
- 关于block块使用的6点注意事项
对于刚学习OC新伙伴,block块一直都是一个比较纠结.比较难懂的知识点,不过,在使用一段时间后,就会感觉很酸爽.block块的原理及使用我就不再赘述,网上有很多这方面的资料.我个人使用这么长时间以来 ...
- 定义block块
一: 工程图 二: 代码区 AppDelegate.h #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <U ...
- Objective-C中的block块语法
#import <Foundation/Foundation.h> /* OC不同于Java C++ 它没有字符串对象 只有NS对象 NS就是乔布斯第一个公司NeXt的类集合 被收购之后才 ...
- 初探swift语言的学习笔记(闭包 - 匿名函数或block块代码)
很多高级语言都支持匿名函数操作,在OC中的block也为大家所熟悉,然面在swift里好像是被重新作了一个定义,不叫匿名函数,或 block了,而叫闭包(closure).下面配合代码来理解一下swi ...
- iOS开发之使用block块进行数据遍历的方法
看了一篇文章,发现遍历数组.字典中的数据时,除了使用for循环外,还可以使用block块进行操作,瞬间感觉iOS的语言代码确实有点高大上的感觉,下面就简单的介绍一下这个方法. 首先是最基本的运用形式, ...
- ARC中block块作为属性的使用笔记
ARC中block块作为属性的使用笔记 block较难理解,根据在内存中的分布情况就分为3种类型,根据使用的情形又分为很多很多种.虽然用起来容易,但使用不当会造成内存泄露,虽然都是这么说,但你真的研究 ...
- Linux_僵尸进程、挂载、block块、inode号
僵尸进程: 基本概念: 进程分为父进程和子进程 父进程一死 子进程都会死 杀死主进程的时候 子进程也会被杀死 僵尸进程:主进程被杀死了 但是子进程还活着 子进程不会占用cpu但还是会占着内存 ...
- hdfs深入:03、hdfs的架构以及副本机制和block块存储
HDFS分布式文件系统设计目标 1. 硬件错误 由于集群很多时候由数量众多的廉价机组成,使得硬件错误成为常态 2. 数据流访问 所有应用以流的方式访问数 ...
随机推荐
- PHP把PNG图片转化为JPG时透明背景变黑色
$type = exif_imagetype($srcimg); switch($type) { case 1: $simg = imagecreatefromgif($srcimg); break; ...
- 从一个数对列中找出素数对用于RAS加密的C++程序
#include <iostream> #include <cmath> using namespace std; const int n = 10000; int isPri ...
- ansible一键安装mysql8.0
ansbile安装: # ansible在CentOS7中需要安装epel仓库 yum install -y epel-release yum install -y ansible 安装有好几种方法, ...
- js 之 object
js之object 对象 ECMA-262 把对象(object)定义为“属性的无序集合,每个属性存放一个原始值.对象或函数”.严格来说,这意味着对象是无特定顺序的值的数组. 尽管 ECMAScrip ...
- 在线教育项目-day05【课程分类管理-添加课程分类】
1.引入依赖 之前测试EasyExcel已经引入过了 2.利用代码生成器生成结构 我们做的只需要更改代码生成器的数据库表即可 3.运行代码生成器 4.书写代码 1.controller @RestCo ...
- redis- info调优入门-《每日五分钟搞定大数据》
本文根据redis的info命令查看redis的内存使用情况以及state状态,来观察redis的运行情况以及需要作出的相应优化. info 1.memory used_memory:13409011 ...
- USACO Training Section 1.3混合牛奶 Mixing Milk
题目描述 由于乳制品产业利润很低,所以降低原材料(牛奶)价格就变得十分重要.帮助Marry乳业找到最优的牛奶采购方案. Marry乳业从一些奶农手中采购牛奶,并且每一位奶农为乳制品加工企业提供的价格是 ...
- P2480 [SDOI2010]古代猪文
P2480 [SDOI2010]古代猪文 比较综合的一题 前置:Lucas 定理,crt 求的是: \[g^x\bmod 999911659,\text{其中}x=\sum_{d\mid n}\tbi ...
- hdu1074之状压dp
#include <iostream> #include <cstdio> #include <cstring> using namespace std; cons ...
- springboot配置静态资源访问路径
其实在springboot中静态资源的映射文件是在resources目录下的static文件夹,springboot推荐我们将静态资源放在static文件夹下,因为默认配置就是classpath:/s ...