运行测试时,常常需要验证某些内容是否出现在返回的页面上。内容检查验证脚
本运行时 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. python3之es+log+date+timezone

    from dateutil.parser import parse # 使用它可以方便的将字符串解析为datetimefrom tzlocal import get_localzone # 使用它可以 ...

  2. 在同一服务器使用git分支建立线上 和 测试 项目

    分支分配文件夹后 sourcetree 创建分支与合并 https://blog.csdn.net/qq_34975710/article/details/74469068 线上分支master 测试 ...

  3. Python Socke

    回射 SERVER #!/usr/bin/python3 #_*_ coding:utf- _*_ import socket,os,time import socketserver import t ...

  4. 【转】用JMeter来测试Tomcat的性能

    JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现,最新的版本是1.9.1,大家可以到http://jakarta.apache.org/jmeter/ ...

  5. 【转】JMeter 通过 JDBC 访问 Oracle 和 MySQL

    JMeter 的手册中描述了如何访问 MySQL,但是没有说明如何访问 Oracle.对于没有 Java 应用开发经验和对 Oracle 不是特别熟悉的朋友,可以参考这篇文章来简单.快速的配置好 JM ...

  6. 第六章 hbase shell 命令

    hbase shell命令                             描述  alter 修改列族(Column Family)模式 count 统计表中行的数量 create 创建表 ...

  7. Django-MTV模型

    MTV模型 Django的MTV分别代表: Model(模型):负责业务对象与数据库的对象(ORM) Template(模版):负责如何把页面展示给用户 View(视图):负责业务逻辑,并在适当的时候 ...

  8. 5月17日上课笔记-js面向对象

    二.js面向对象 js创建对象: var 对象名称 = new Object(); person.name = "小明"; //姓名 person.age = 18; person ...

  9. Memory leak by misusing Autofac

    Recently I’ve found out that we can easily cause a memory leaks in our .net application by improper ...

  10. 脱壳系列(四) - eXPressor 壳

    先用 PEiD 查一下壳 用 OD 载入程序 这里有一串字符串,是壳的名称和版本号 按 Alt+M 显示内存窗口 这里只有三个区段,后面两个是壳生成的,程序的代码段也包含在里面 利用堆栈平衡 按 F8 ...