总结

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 NameMatch Attribute Value用控件的某个属性的值进行匹配。

"Extract Text”提取规则

我们通过"Extract Text”规则从web响应中抽取ResultLabel的值:

属性填充如下:

规则将提取Starts WithEnds 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)的更多相关文章

  1. Visual Studio的Web Performance Test提取规则详解(3)

    总结 Visual Studio的Web Performance Test是基于HTTP协议层的,它不依赖于浏览器,通过直接接收,发送HTTP包来和Web服务器交互.Web Performance T ...

  2. Visual Studio的Web Performance Test提取规则详解(1)

    总结 Visual Studio的Web Performance Test是基于HTTP协议层的,它不依赖于浏览器,通过直接接收,发送HTTP包来和Web服务器交互.Web Performance T ...

  3. 转:Visual Studio进行Web性能测试- Part I

    原文作者:Ambily.raj Visual Studio是可以用于性能测试的工具之一.Visual Studio Test版或Visual Studio 2010旗舰版为自动化测试提供了支持.本文介 ...

  4. Visual Studio进行Web性能测试- Part I

    Visual Studio进行Web性能测试- Part I 2012-08-29 08:01 by 知平软件, 5356 阅读, 9 评论, 收藏, 编辑 原文作者:Ambily.raj Visua ...

  5. Visual Studio 使用 Web Deploy 发布远程站点

    Ø  简介 本文介绍 Visual Studio 如何使用 Web Deploy发布远程站点,有时候我们开发完某个功能时,需要快速将更改发布至服务器.通常 Visual Studio 可以采用两种方式 ...

  6. Visual Studio进行Web性能测试- Part II

    Visual Studio进行Web性能测试- Part II 2012-08-31 14:34 by 知平软件, 7557 阅读, 5 评论, 收藏, 编辑 原文作者:Ambily.raj 对于一个 ...

  7. Visual Studio 2013 Web开发

    cnbeta新闻:微软正式发布Visual Studio 2013 RTM版,微软还发布了Visual Studio 2013的最终版本..NET 4.5.1以及Team Foundation Ser ...

  8. Visual Studio 2013 Web开发、新增功能:“Browser Link”

    微软正式发布Visual Studio 2013 RTM版,微软还发布了Visual Studio 2013的最终版本..NET 4.5.1以及Team Foundation Server 2013. ...

  9. Visual Studio 2013 Web开发、新增功能:“Browser Link”

    微软正式发布Visual Studio 2013 RTM版,微软还发布了Visual Studio 2013的最终版本..NET 4.5.1以及Team Foundation Server 2013. ...

随机推荐

  1. Mysql的时间和日期

    datetime    占8个字节    可以显示日期同时显示时间  yyyy-mm-dd hh:mm:ss 显示范围  1000-01-01 00:00:00----9999-12-31 23:59 ...

  2. stdout( 标准输出流)和 stderr( 标准输入流) 重定向问题

    我想把提示信息和错误信息列表都写入到同一个文件里, /* ** 设置流, 使输出与错误流都指向指定的文件 */ if( (output1 = freopen( PATH, "a", ...

  3. ASP.NET中如何读取和写入注册表

    直接给源码: 读取注册表内容: RegistryKey regkey=Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Window ...

  4. 故障处理-ORA-00376/ORA-01110

    数据库实例启动之后发现,9号数据文件发生故障,file 9 cannot be read at this time, ORACLE Instance ilndb2 (pid = 16) - Error ...

  5. iOS审核秘籍】提审资源检查大法

    iOS审核秘籍]提审资源检查大法 2015/11/27 阅读(752) 评论(1) 收藏(6) 加入人人都是产品经理[起点学院]产品经理实战训练营,BAT产品总监手把手带你学产品点此查看详情! 本篇主 ...

  6. WordPress学习

    1,WordPress安装 2,WordPress前台与后台 3,WordPress Post&Page. 4,WordPress多媒体 5,WordPress插件管理 上面5条已经掌握,明天 ...

  7. mvc 扩展htmlhelper

    using System.Web.Mvc; namespace System.Web.Mvc{    public static class HtmlExtend    {        public ...

  8. Cocoapods配置

    这真是蛋疼的东西,配置了几次,每次都不同,每次都折腾半天.这一段时间应该不会变了,记录下来. 一 换源 看了教程都说官方源https://rubygems.org/不能访问,我特意点了一下,发现能访问 ...

  9. LeetCode Strobogrammatic Number

    原题链接在这里:https://leetcode.com/problems/strobogrammatic-number/ 题目: A strobogrammatic number is a numb ...

  10. 大商创 sql追踪 用户注册

    用户注册sql追踪 用户注册数据表 sql语句分析 ', 'wzd222@qq.com', 'addf92072794a4b668f70815672ba5c8') 主要成分: user_name,mo ...