Visual Studio的Web Performance Test提取规则详解(2)
总结
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 | 从响应中提取所有的隐藏字段。 |
在上文中,我们讲解了“Extract Hidden Fields”规则。本文将继续讲解其他提取规则。
例子
本文我们以一个Asp.net的例子讲解其他规则,该例子参考了Advanced capability in Web Performance Test of VS2010一文。读者可以在这里下载该例子的代码。

这是一个简单的计算器程序,提供4则运算。
我们设计Case如下:
1,计算 2+1=3;
2,循环计算,3+2=5,5+3=8,8+5=13 …
首先,我们进行录制,录制完成后,我们可以看到提交的表单包含参数如下:

根据我们设计的Case,除了2+1外,后面的计算我们需要提取Num1TextBox中的值填充在Num2TextBox中,把结果中的值提取出来填充在Num1TextBox中,再提交表单。
"Extract Attribute Value“提取规则
我们通过"Extract Attribute Value”规则从web响应中抽取Num1TextBox提取值:

属性填充如下所示:

其中,Tag Name决定要提取的控件类型,Attribute Name决定要提取哪个属性的值,Match Attribute Name和Match Attribute Value用控件的某个属性的值进行匹配。
"Extract Text”提取规则
我们通过"Extract Text”规则从web响应中抽取ResultLabel的值:

属性填充如下:

规则将提取Starts With和Ends With之间的文本。
绑定提取的参数
现在,我们已经为第一次提交的表单(也就是2+1=3)的响应添加了2条提取规则:

接下来,我们需要把规则提取的参数绑定到下一次表单的post参数中:

这时,执行case,就可以得到3+2=5。
添加循环
为了达到循环计算的效果,如计算3+2=5,5+3=8,8+5=13,13+8=21 ….需要添加一个循环:

为了对循环中的每次提交后的响应都进行提取,我们需要把之前添加的两个规则拷贝到循环内的URL中,如上图所示。
循环执行9次后的结果:

其他提取规则
"Selected Option"提取规则
在上面的例子中,如果我们希望在循环内,计算符号不使用硬编码的“+”号,而是使用上次请求选中的符号,需要使用"Selected Option"提取规则,该规则将提取select控件当前选中的值,属性配置如下:

其中,"Select Tag Name”是select控件的ID或Name。
"Extract Regular Expression"提取规则
上文中提取Result参数,如果我们使用正则表达式规则抽取会怎么样呢? 如:

我们发现,抽取的Result值将会是"等于5。",而不是"5",并不适用上面的例子。
总结
目前为止,我们讲解了5种取规则,剩下的几种就不再一一介绍。下一讲,我们将介绍如何使用自定义规则。
知平软件致力于移动平台自动化测试技术的研究,我们希望通过向社区贡献知识和开源项目,来促进行业和自身的发展。
Visual Studio的Web Performance Test提取规则详解(2)的更多相关文章
- Visual Studio的Web Performance Test提取规则详解(3)
总结 Visual Studio的Web Performance Test是基于HTTP协议层的,它不依赖于浏览器,通过直接接收,发送HTTP包来和Web服务器交互.Web Performance T ...
- Visual Studio的Web Performance Test提取规则详解(1)
总结 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. ...
随机推荐
- 2016HUAS暑假集训题1 H - N皇后问题
Description 在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上. 你的任务是,对于给定的N,求出有多少种合 ...
- iOS 导入第三方文件夹时右侧出现问号
首先,和版本库有关. a代表add,m代表modify,?代表未能识别,通常如果使用git之类的版本控制器,添加文件后没有进行提交,就会出现? 1.遇到引用文件夹为蓝色的情况,是你以为勾了copy项, ...
- Sqlite 数据库出现database disk image is malformed报错的解决方法
软件用的是Sqlite数据库,昨天还好好的,今天开机登录软件报错:database disk image is malformed 用Sqlite Expert Personal 重建索引,发现其中一 ...
- find a multiple
Description The input contains N natural (i.e. positive integer) numbers ( N <= 10000 ). Each of ...
- windows7远程桌面连接unbuntu12.04
参考:http://mawenjian.net/p/1221.html http://blog.csdn.net/chengfei112233/article/details/6623672 http ...
- BizTalk动手实验(十四)AS2传输非EDI消息
1 课程简介 本课程通过AS2协议完成XML文件的传输过程,传输之后同步接收MDN确认信息.通过本课程熟悉AS2传输解决方案的基本开发与配置方法. 2 准备工作 为了模拟实际的B2B交互过程,本实验需 ...
- 前端文摘:Web 开发模式演变历史和趋势
今天的<前端文摘>给大家分享一篇玉伯的文章.文章详细介绍了 Web 开发的四种常用模式以及未来可能成为流行趋势的 Node 全栈开发模式,相信你看了以后一定会有收获. 您可能感兴趣的相关文 ...
- Objective-C 在Categroy中创建属性(Property)
Objective-c中category是不能直接创建属性的,这时候我们要用到Objc的runtime来实现 用到的方法有两个 一个是get方法 一个set方法 //get方法objc_getAsso ...
- UINavigation Bar中使用UIcollectionView,在UIcollectionView的顶端和低端出现空白的问题
在含有UINavigation Bar的视图中,使用UIcollectionView,会在UIcollectionView的顶端和低端出现空白,需要添加下面 一句代码,空白即可消失 //如果不加这 ...
- select2插件的使用
<select id="prd_tech_for_load" class="selectable" style="width:180px;&qu ...