Visual Studio的Web Performance Test提取规则详解(1)
总结
Visual Studio的Web Performance Test是基于HTTP协议层的,它不依赖于浏览器,通过直接接收,发送HTTP包来和Web服务器交互。Web Performance Test发送和接收的一系列请求和响应之间存在相关性,例如,用户登录后,SID被传递给客户端,下一次请求时,需要把SID发送到服务器。因此,Web Perfomance Test 定义了多种提取规则,帮助从服务器响应中提取信息,用于之后的请求。或者保存起来,作为测试结果的一部分。
Web Performance Test提供多种提取规则,以下表格来自MSDN:
| 提取规则的类型 | 说明 |
| Selected Option | 提取列表或组合框中的选定文本。 |
| Tag Inner Text | 从指定的 HTML 标记中提取内部文本。 |
| Extract Attribute Value | 从指定的 HTML 标记中提取特性的值。 有关以下内容的更多信息使用提取特性值规则的更多信息,请参见演练:向 Web 性能测试添加验证规则和提取规则。 |
| Extract Form Field | 提取响应中指定窗体字段的值。 |
| Extract HTTP Header | 提取 HTTP 标头的值。 |
| Extract Regular Expression | 从与正则表达式相匹配的响应中提取文本。 |
| Extract Text | 从响应中提取文本。 |
| Extract Hidden Fields | 从响应中提取所有的隐藏字段。 |
如何添加提取规则
在完成Web Performance Test录制后(Visual Studio进行Web性能测试系列有提到),右键点击一条记录,选择 “Add Extraction Rule”:

“Add Extraction Rule”对话框将被打开:

然后,我们可以通过完成其属性的方式来添加规则。
那么,怎么如何知道从哪里提取参数,要提取哪些参数呢?我们前面讲过,从Web请求的响应中提取。 录制完成后,我们需要先运行测试一遍,然后,我们查看测试结果:

打开Reponse标签,我们可以看到HTTP响应的内容,包括Headers和Body,从中,我们可以观察需要提取哪些参数,作为接下来的请求或者结果分析使用。
本系列的第一部分我们先介绍“Extract Hidden Fields”规则。
Extract Hidden Fields规则
“Extract Hidden Fields”是最重要的一条规则,因为提交的请求中许多重要的表单字段都是保存在Hidden Fields中的,例如asp.net的“__VIEWSTATE”等。

自动抽取与绑定
在默认配置下,Web Performance Test将自动添加“Extract Hidden Fields”规则,并且自动绑定提取的参数到请求上。我们可以通过Tools –> Options –> Test Tools –> Web Test中的“Automatically extract and bind hidden fields”来配置是否要自动抽取和绑定隐藏的字段。

手动添加规则
虽然我们可以通过VS自动添加该规则,但是我们还是来看看如何手动添加它:

该规则只有3个属性:
Context Parameter Name:参数名,我们可以简单的命名为“1”,那么实际的参数名为“$HIDDEN1”。
Required:当Required为True时,如果没有抽取到任何隐藏字段,抽取规则失败。
Html Decode:指示在放入 Web 测试上下文中之前提取的值是否应进行 HTML 解码。
手动绑定
在手动添加了“Extract Hidden Field”规则后,我们在需要把提取的参数绑定到请求的post或get参数中。
选择”QueryString Parameters”或者”Form Post Parameters”中的一个参数,右键点击,选择Properties

在Properties面板中,把Value值从录制产生的硬编码替换为{{$HIDDEN1.dsh}},dsh为隐藏字段的字段名。

知平软件致力于移动平台自动化测试技术的研究,我们希望通过向社区贡献知识和开源项目,来促进行业和自身的发展。
Visual Studio的Web Performance Test提取规则详解(1)的更多相关文章
- Visual Studio的Web Performance Test提取规则详解(3)
总结 Visual Studio的Web Performance Test是基于HTTP协议层的,它不依赖于浏览器,通过直接接收,发送HTTP包来和Web服务器交互.Web Performance T ...
- Visual Studio的Web Performance Test提取规则详解(2)
总结 Visual Studio的Web Performance Test是基于HTTP协议层的,它不依赖于浏览器,通过直接接收,发送HTTP包来和Web服务器交互.Web Performance T ...
- 转:Visual Studio进行Web性能测试- Part I
原文作者:Ambily.raj Visual Studio是可以用于性能测试的工具之一.Visual Studio Test版或Visual Studio 2010旗舰版为自动化测试提供了支持.本文介 ...
- Visual Studio进行Web性能测试- Part I
Visual Studio进行Web性能测试- Part I 2012-08-29 08:01 by 知平软件, 5356 阅读, 9 评论, 收藏, 编辑 原文作者:Ambily.raj Visua ...
- Visual Studio 使用 Web Deploy 发布远程站点
Ø 简介 本文介绍 Visual Studio 如何使用 Web Deploy发布远程站点,有时候我们开发完某个功能时,需要快速将更改发布至服务器.通常 Visual Studio 可以采用两种方式 ...
- Visual Studio进行Web性能测试- Part II
Visual Studio进行Web性能测试- Part II 2012-08-31 14:34 by 知平软件, 7557 阅读, 5 评论, 收藏, 编辑 原文作者:Ambily.raj 对于一个 ...
- Visual Studio 2013 Web开发
cnbeta新闻:微软正式发布Visual Studio 2013 RTM版,微软还发布了Visual Studio 2013的最终版本..NET 4.5.1以及Team Foundation Ser ...
- Visual Studio 2013 Web开发、新增功能:“Browser Link”
微软正式发布Visual Studio 2013 RTM版,微软还发布了Visual Studio 2013的最终版本..NET 4.5.1以及Team Foundation Server 2013. ...
- Visual Studio 2013 Web开发、新增功能:“Browser Link”
微软正式发布Visual Studio 2013 RTM版,微软还发布了Visual Studio 2013的最终版本..NET 4.5.1以及Team Foundation Server 2013. ...
随机推荐
- 2016huasacm暑假集训训练三 C - Til the Cows Come Home
题目链接:http://acm.hust.edu.cn/vjudge/contest/123674#problem/C N题目大意是有n个点,然后给出从a点到b点的距离,a和b是互相可以抵达的,则是无 ...
- iOS 导入第三方文件夹时右侧出现问号
首先,和版本库有关. a代表add,m代表modify,?代表未能识别,通常如果使用git之类的版本控制器,添加文件后没有进行提交,就会出现? 1.遇到引用文件夹为蓝色的情况,是你以为勾了copy项, ...
- 使用context来传递数据,一个context是一系列变量
页面设计工作和python代码分离,所以我们引用模板来实现这个功能. 一.模板实例 下面是一个模板的实例: [python]<html><head><title>O ...
- 安装好php后,配置httpd以便支持php3脚本
Apache是目前应用最广的Web服务器,PHP是一种类似ASP的易学的脚本语言,而且性能和功能都比ASP要强,而MySQL又是一个Linux上应用最多的数据库系统,特别是用于网站建设,这3个软件均是 ...
- Web前端开发基础 第四课(CSS一些性质)
继承 CSS的某些样式是具有继承性的,那么什么是继承呢?继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代.比如下面代码:如某种颜色应用于p标签,这个颜色设置不仅应用p标签 ...
- IOS第18天(5,CABasicAnimation基本动画)
******* #import "HMViewController.h" @interface HMViewController () @property (nonatomic, ...
- EL表达式Expression Language
表达式语言Expression Language目的:简化jsp代码 EL内置对象 1.pageContext2.pageScope3.requestScope4.sessionScope5.appl ...
- python logging 配置
python logging 配置 在python中,logging由logger,handler,filter,formater四个部分组成,logger是提供我们记录日志的方法:handler是让 ...
- 动态给drawable上色
只加载一个资源,然后在运行的时候通过ColorFilter进行上色 public Drawable colorDrawable(Resources res, @DrawableRes int draw ...
- larave5.1l队列
官方文档http://laravel.com/docs/5.1/queues#dealing-with-failed-jobs 1.队列容器设置为数据库 config/queue.php 'defau ...