运行测试时,常常需要验证某些内容是否出现在返回的页面上。内容检查验证脚
本运行时 Web 页面上是否出现期望的信息。可以插入两种类型的内容检查:
➤ 文本检查。检查文本字符串是否出现在 Web 页面上。
➤ 图像检查。检查图像是否出现在 Web 页面上。
文本检查
在这一节,您将添加文本检查,检查 Find Flight 是否出现在脚本中的订票页面上。
要插入文本检查,请执行以下操作:
1 打开文本检查向导。
确保出现 “任务”窗格。如果未出现,请单击任务按钮。在 “任务”窗格的增强
功能下单击内容检查。
内容检查向导打开,显示脚本中每个步骤的缩略图。

选择工具栏中的 HTML 视图以显示缩略图的快照。

2 选择包含待检查文本的页面。
单击名为 reservations.pl 的第四个缩略图。
3 选择要检查的文本。
突出显示快照内的文字 Find Flight (查找航班),然后右键单击并选择添加文本
检查 (web-reg-find)。
将打开 “查找文本”对话框,显示在查找选定内容框中选定的文本。单击确定。
4 查看新步骤。
在树视图 (视图 > 树视图)中,您会看到 VuGen 在脚本中插入了一个新步骤
Service: Reg Find。这一步注册文本检查, LoadRunner 将在运行步骤后检查文
本。回放期间, VuGen 将查找文本 Find Flight 并在回放日志中指出是否找到。

注:

回放日志中能看到Registering web_reg_find was successful是让 VuGen 准备好在表单提交后检查文本,而Registered web_reg_find successful for "Text=Find Flight" (count=1)表示查找成功,如果没有,单击action,右键run-time setting中,Internet Protocol --preference 中第一选项,checks,勾选上。

检查点输入中文不能识别的问题:

转载自:http://www.51testing.com/html/44/316844-845447.html

以访问我空间首页为例,设置检查点,检查文本“jmeter参数化”

结果,无论是web_find还是web_reg_find,结果全是失败

Action.c(13): Continuing after Error -26366: "Text=Jmeter参数化" not found for web_reg_find  [MsgId: MERR-26366]

Action.c(13): web_url("www.51testing.com") highest severity level was "continue on error", 240255 body bytes, 18483 header bytes, 162 chunking overhead bytes      [MsgId: MMSG-26387]

Action.c(13):Continuing after error in Vuser script.

Action.c(46):Continuing after Error -27195: "web_find" failed. 0 occurrence(s) of "Jmeter参数化" found (RightOf="", LeftOf="")        [MsgId: MERR-27195]

Action.c(46): web_find highest severity level was "continue on error"      [MsgId: MMSG-26391]

而直接检查jmeter则可以成功,基本判定还是中文识别的问题

网上提到的使用lr_convert_string_encoding函数,将中文转换成UTF8,然后再去检查,不知道是不是我写的不对,结果还是验证失败

最后看到一文章提到中文字符集和中文检查点的关系,发现51的编码是简体中文gbk,而我录制时,录制选项里里,Utf-8是勾选的

于是重新录制脚本,清除Utf-8选项,设置同样中文检查点,回放通过

同样,经试验,UTf-8编码的百度网站,启用UTF-8录制,中文检查点也是可以成功的

因此,在录制脚本时最好还是先看下网站的编码格式,然后设置相应的录制选项-支持字符集,确认是否启用UTF-8,以确保后续的中文检查点的正常运行。

web_find和web_reg_find 区别:

使用web_reg_find不用启用文本检查点功能

使用web_find就一定要启用文本检查点功能,否则检查点无效,

web_reg_find和web_find放的位置有区别,web_reg_find需要放在检查内容的前面,而web_find放在检查内容的后面

正常的结果就是:
1,启用了检查点,当检查到时,返回值为0;当检查不到时,返回值为1。
2,不启动检查点,一直返回0.

web_find
该函数主要针对HTML页面显示的内容进行搜索。
中的百度一下是不可以搜索的到
而标题"百度一下,你就知道" 可以搜索的到。

web_find中文支持问题:

使用URL方式去录制就能解决此问题,另外可能引起的是字符集的问题,不要选则UT-8

web_find当没查找到字符时,就报错,停止继续运行
Action.c(31): Error -27195: "web_find" failed. 0 occurrence(s) of "新闻" found (RightOf="", LeftOf="") [MsgId: MERR-27195]
Action.c(31): web_find highest severity level was "ERROR" [MsgId: MMSG-27181]

web_find()插入检查点回放错误

Action.c(83): Error -27985: There is no context for HTML-based functions. A previous function may not have used "Mode=HTML" or downloaded only non-HTML page(s), or the context has been reset (e.g., due to a GUI-based function)   [MsgId: MERR-27985]
Action.c(83): web_find highest severity level was "ERROR"   [MsgId: MMSG-26391]

原因:web_find()仅支持基于HTML模式录制的脚本中,如果是基于url的脚本插入后会有如上的错误

解决办法:换成使用web_reg_find()函数即可

另外注意:LoadRunner回放默认是不勾选启用检查点的,需要在回放设置中手动勾选才生效

web_reg_find()函数中文查找失败

解决办法:将运行设置-》preference的convert from/to UTF-8设置位yes即可

函数模板:

A. web_reg_find("Text=Payment Detdils", "Fail=NotFound",LAST);或者

B. web_reg_find("Text=Payment Detdils", "Fail=Found",LAST);

代码思路:

1."Payment Details" 为你要检查的文本;

2. 若是A代码:脚本执行到此处,若没有找到check的字符串,脚本将FAIL, 并且停止执行下去。反之,则一直执行下去。

3. 若是B代码:脚本执行到此处,若找到check的字符串,脚本将FAIL, 并且停止执行下去。反之,则一直执行下去。

loadrunner怎么进行内容检查的更多相关文章

  1. 告别被拒,如何提升iOS审核通过率(下篇)——应用内容检查大法与提审资源检查大法

    WeTest 导读 之前的<告别被拒,如何提升iOS审核通过率(上篇)>分享了客户端检查的相关要点,本篇会给大家介绍有关应用内容的检查项和提审资源相关检查项要点. 应用内容检查大法 苹果对 ...

  2. 验证loadrunner对Ajax内容的校验

    前一阵和开发的同事一起測试某个系统的性能.此系统是发送Ajax请求到后台,再调用第三方的某项服务. 第三方服务的性能由不得我们控制.因此开发者做了一下改进.超时则直接返回. 于是在loadrunner ...

  3. LoadRunner 检查点函数总结

    今天我来总结一下Loadrunner中的检查点函数,主要介绍两个函数:web_find()和web_reg_find() 这两个函数均用于内容的查找,但两者也有本质的区别,具体介绍如下: 一.web_ ...

  4. LoadRunner培训初级教程

    一 LoadRunner简介 1.1 Loadrunner介绍 LoadRunner 是 HP Mercury Interactive 用来测试应用程序性能的工具  LoadRunner 通过模拟一个 ...

  5. Loadrunner中web_find和web_reg_find函数的使用与区别

    总结一下Loadrunner中的检查点函数,主要介绍两个函数:web_find()和web_reg_find():这两个函数均用于内容的查找,但两者也有本质的区别,具体介绍如下:一.web_find( ...

  6. loadrunner提高篇-插入检查点与关联函数

    插入检查点   靠LR自动生成的脚本是不够的,很难达到业务要求,因此需要对录制完的脚本进行完善,使其能达到业务模拟的要求 ,这样尽可能地使虚拟用户模拟时更接近用户的实际使用. 在进行压力测试时,经常会 ...

  7. Loadrunner检查点使用总结

    在使用Loadrunner进行性能测试中,有时需要对性能测试中的功能是否全部正确进行判断.这里就需要用到“检查点”,本文总结了常用三种协议下检查点的使用方法,希望阅读本文后的小伙伴们能够掌握其使用方法 ...

  8. LoadRunner场景设置

    创建负载测试场景场景目标:模拟10家旅行社同时登陆.搜索航班.购买机票.查看航班路线并退出打开Controller并创建一个新场景1.打开HP LoadRunner2.打开Controller在Loa ...

  9. LoadRunner脚本准备

    脚本录制1.启动LoadRunner2.打开VuGen在LoadRunner Launcher窗格中,单击创建/编辑脚本3.创建一个空白Web脚本在“新建虚拟用户”对话框里选择新建脚本的协议一般选择W ...

随机推荐

  1. strcpy手写——面试

    #include<stdio.h> #include<string.h> ]={]; char* strcpy(char *to,char *from){ if(NULL==t ...

  2. php 操作提示框

    /** * 跳转 * @param type $msg * @param type $url */ protected function jump($msg, $url) { $html = < ...

  3. bzoj2184: 任意图的匹配

    Description 每天都要考,每天都要讲,大家注意力都集中不起来了,每天听解题报告时都有人交头接耳(也包括我,呵呵).这样做大大的影响的学习效率(可能吧).于是,有些好奇心重的同学就开始研究,怎 ...

  4. 016:Explain

    一. Explain EXPLAIN 官方文档 1.explain说明 explain是解释SQL语句的执行计划,即显示该SQL语句怎么执行的 使用explain的时候,也可以使用desc 5.6 版 ...

  5. 【UVa】12118 Inspector's Dilemma(欧拉道路)

    题目 题目     分析 很巧秒的一道题目,对着绿书瞎yy一会. 联一下必须要走的几条边,然后会形成几个联通分量,统计里面度数为奇数的点,最后再减去2再除以2.这样不断相加的和加上e再乘以t就是答案, ...

  6. thinkjs 学习笔记

    抽空大概看了下thinkjs,总体感觉很不错 不了解的可以看下文档(http://thinkjs.org/doc.html) 介绍就不多说了,看下快速入门 npm install -g thinkjs ...

  7. 【转】Android开发笔记——圆角和边框们

    原文地址:http://blog.xianqu.org/2012/04/android-borders-and-radius-corners/ Android开发笔记——圆角和边框们 在做Androi ...

  8. centos7.3查看时区

    [root@iZ2ze3gf6h0zndx5dxyhqiZ ~]# date -R Fri, Apr :: + 即可查看时区 我们国家的东八区(+0800) 查看clock系统配置文件 [root@i ...

  9. git之生成SSH key

    git之生成SSH key SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定.利用 SSH 协议可以有效防止远程管理过程中的信 ...

  10. AES 加密填充 PKCS #7

    使用算法AES的时候,涉及到数据填充的部分,数据的填充有很多种方案,用的比较多的有pkcs#5,pkcs#7, 下面的都是从网上转来的.结论就是在AES 的使用中,pkcs#5填充和pkcs#7填充没 ...