检查点,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. 数据流访问 所有应用以流的方式访问数 ...
随机推荐
- SMTP发邮件(直接可用)实例
string file = "邮件测试.txt";//放在Debug下的一个txt文件. MailAddress from = new MailAddress("自己的邮 ...
- Linux下jdk的安装和环境变量的配置
Linux下jdk的安装和环境变量的配置 一.jdk的下载 方式一:在官网下载 http://www.oracle.com/technetwork/java/javase/downloads/inde ...
- 有关HTTP协议
有关HTTP协议:https://www.cnblogs.com/an-wen/p/11180076.html
- 2019-2020-1 20199303《Linux内核原理与分析》第九周作业
进程的切换和一般执行过程 知识总结 操作系统原理中介绍了大量进程调度算法,这些算法从实现的角度看仅仅是从运行队列中选择一个新进程,选择的过程中运用了不同的策略而已. 对于理解操作系统的工作机制,反而是 ...
- 设置 cipher suite
https://man.openbsd.org/SSL_CTX_set_cipher_list.3#ECDHE SSL_CTX_set_cipher_list() sets the list of a ...
- 数据库SQL---数据库、基本表、视图、索引的定义、修改、删除
1.SQL(结构化查询语言)的组成:数据定义语言DDL.数据操纵语言DML.数据控制语言DCL.其他. 2.SQL语言的功能: 1)数据查询:SELECT 2)数据定义:CREATE DROP ...
- 怎么将swagger API导出为HTML或者PDF
文章目录 将swagger API导出为HTML或者PDF 什么是Asciidoc swagger2markup-maven-plugin asciidoctor-maven-plugin 使用命令行 ...
- KVM虚拟化平台环境部署
一:安装依赖包 二:配置网卡 三:配置环境 实验环境: KVM01 192.168.200.10 关闭防火墙及相关的安全机制 [root@KVM01 ~]# systemctl stop fire ...
- 计算机网络 之 Cisco packet tracer 的安装及汉化
可以去官网下载最新版本的Cisco packet tracer 免费 汉化包及7.1版本百度云链接:链接: https://pan.baidu.com/s/1XudelgnMu6XysCZ36csl7 ...
- 【Linux常见命令】cp命令
cp - copy files and directories 拷贝文件或目标文件夹,默认不能直接拷贝目录,通过-r参数设置递归复制目录 copy 语法: cp [OPTION]... [-T] SO ...