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块,参数化的更多相关文章

  1. iOS之block块

    Block块. 1.声明Block int (^myBlock)(int n) = ^(int num) 类型 (^名称)(需要传的参数)= ^(参数) 2 __block 变量 在block块中修改 ...

  2. Linux内核系列之Block块层(一)

    .Block块层入口函数为 genhd_device_init(),先对该函数开始分析: 函数实现源码: static int __init genhd_device_init(void) {     ...

  3. 关于block块使用的6点注意事项

    对于刚学习OC新伙伴,block块一直都是一个比较纠结.比较难懂的知识点,不过,在使用一段时间后,就会感觉很酸爽.block块的原理及使用我就不再赘述,网上有很多这方面的资料.我个人使用这么长时间以来 ...

  4. 定义block块

    一: 工程图 二: 代码区 AppDelegate.h #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <U ...

  5. Objective-C中的block块语法

    #import <Foundation/Foundation.h> /* OC不同于Java C++ 它没有字符串对象 只有NS对象 NS就是乔布斯第一个公司NeXt的类集合 被收购之后才 ...

  6. 初探swift语言的学习笔记(闭包 - 匿名函数或block块代码)

    很多高级语言都支持匿名函数操作,在OC中的block也为大家所熟悉,然面在swift里好像是被重新作了一个定义,不叫匿名函数,或 block了,而叫闭包(closure).下面配合代码来理解一下swi ...

  7. iOS开发之使用block块进行数据遍历的方法

    看了一篇文章,发现遍历数组.字典中的数据时,除了使用for循环外,还可以使用block块进行操作,瞬间感觉iOS的语言代码确实有点高大上的感觉,下面就简单的介绍一下这个方法. 首先是最基本的运用形式, ...

  8. ARC中block块作为属性的使用笔记

    ARC中block块作为属性的使用笔记 block较难理解,根据在内存中的分布情况就分为3种类型,根据使用的情形又分为很多很多种.虽然用起来容易,但使用不当会造成内存泄露,虽然都是这么说,但你真的研究 ...

  9. Linux_僵尸进程、挂载、block块、inode号

    僵尸进程: 基本概念: 进程分为父进程和子进程 父进程一死 子进程都会死 杀死主进程的时候  子进程也会被杀死 僵尸进程:主进程被杀死了  但是子进程还活着    子进程不会占用cpu但还是会占着内存 ...

  10. hdfs深入:03、hdfs的架构以及副本机制和block块存储

    HDFS分布式文件系统设计目标 1.            硬件错误  由于集群很多时候由数量众多的廉价机组成,使得硬件错误成为常态 2.            数据流访问  所有应用以流的方式访问数 ...

随机推荐

  1. CDNbest-访问限制

    写在开始之前 有时候我们需要对网站某个目录或整站限制只对特点的ip访问 不是在ip范围之内的统统拒绝 步骤 首先我们登录,找到我们的目标站点,点击去如下图所示 找到高级设置 添加新规则,如下 这里用到 ...

  2. 计算4的n次幂html代码

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. Netty(七):EventLoop学习前导——Reactor模式

    了解Netty的人多少都会知道Netty的高性能的一个原因就是它是基于事件驱动的,而这一事件的原型就是Reactor模式. 所以在学习EventLoop前,很有必要先搞懂Reactor模式. 本文目录 ...

  4. 一个页面从输入url到页面加载完成究竟经历了些什么

    本人经参考谢希仁著<计算机网络(第 5版)>.<HTTP权威指南>和网络上关于浏览器渲染原理的介绍,结合自己理解,整理出以下结论,如有不正确或者不完善之处欢迎指正: 当用户在浏 ...

  5. 将不确定变成确定~LINQ DBML模型可以对应多个数据库吗

    答案是肯定的,一个DBML模型可以对应多个数据库,只要数据库中的表与模型中定义的表结构完成相同,就可以这个技术,我们可以用来开发一些通用的功能模块,如通过后台管理模块,我们将一些通用表进行抽象,如,对 ...

  6. python(内置高阶函数)

    1.高阶函数介绍: 一个函数可以作为参数传给另外一个函数,或者一个函数的返回值为另外一个函数(若返回值为该函数本身,则为递归),如果满足其一,则为高阶函数. 常见的高阶函数:map().sorted( ...

  7. muduo网络库源码学习————线程本地单例类封装

    muduo库中线程本地单例类封装代码是ThreadLocalSingleton.h 如下所示: //线程本地单例类封装 // Use of this source code is governed b ...

  8. [转载] IE8+兼容小结

    本文分享下我在项目中积累的IE8+兼容性问题的解决方法.根据我的实践经验,如果你在写HTML/CSS时候是按照W3C推荐的方式写的,然后下面的几点都关注过,那么基本上很大一部分IE8+兼容性问题都OK ...

  9. Unix的I/O模型

    对于一次I/O操作(以read为例),数据首先被拷贝到内核的某个缓冲区,然后再从内核缓冲区拷贝到应用进程缓冲区. 因此,一次I/O操作通常包含两个阶段: (1) 等待数据准备好 (2) 从内核向进程复 ...

  10. python字符串分段组合(更新)

    描述 获得输入的一个字符串s,以字符减号(-)分割s,将其中首尾两段用加号(+)组合后输出.‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬ ...