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”:

image

 

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

image

然后,我们可以通过完成其属性的方式来添加规则。

 

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

image

打开Reponse标签,我们可以看到HTTP响应的内容,包括Headers和Body,从中,我们可以观察需要提取哪些参数,作为接下来的请求或者结果分析使用。

 

本系列的第一部分我们先介绍“Extract Hidden Fields”规则。

 

Extract Hidden Fields规则

“Extract Hidden Fields”是最重要的一条规则,因为提交的请求中许多重要的表单字段都是保存在Hidden Fields中的,例如asp.net的“__VIEWSTATE”等。

image

 

自动抽取与绑定

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

image

 

手动添加规则

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

image

 

该规则只有3个属性:

Context Parameter Name:参数名,我们可以简单的命名为“1”,那么实际的参数名为“$HIDDEN1”。

Required:当Required为True时,如果没有抽取到任何隐藏字段,抽取规则失败。

Html Decode:指示在放入 Web 测试上下文中之前提取的值是否应进行 HTML 解码。

 

手动绑定

在手动添加了“Extract Hidden Field”规则后,我们在需要把提取的参数绑定到请求的post或get参数中。

选择”QueryString Parameters”或者”Form Post Parameters”中的一个参数,右键点击,选择Properties

image

 

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

image

 

本文由知平软件刘斌华原创,转载请注明出处。

知平软件致力于移动平台自动化测试技术的研究,我们希望通过向社区贡献知识和开源项目,来促进行业和自身的发展。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Visual Studio是一款集成开发环境(IDE),用于开发各种类型的应用程序,包括Web应用程序。Visual Studio提供了丰富的功能和工具,以便开发人员能够更高效地创建、调试和部署应用程序。 在Visual Studio中进行Web开发时,可以使用不同的框架和技术,其中一种是使用Flask框架进行Python的Web开发。Flask是一个轻量级的Python Web框架,它与Python单元测试功能无缝衔接,使用Jinja2模板,完全兼容WSGI 1.0标准,并且基于Unicode编码。你可以通过创建一个Flask应用来开始Web开发,如下所示: ```python from flask import Flask app = Flask(__name__) @app.route('/') def index(): return '<h1>Hello Python World!</h1>' if __name__ == '__main__': app.run() ``` 上述代码创建了一个名为`app`的Flask应用,并使用装饰器`@app.route('/')`将根路径映射到`index()`视图函数。当访问根路径时,将返回`<h1>Hello Python World!</h1>`。 除了使用Flask框架,Visual Studio还支持其他Web开发框架和技术,例如ASP.NET。ASP.NET是一种用于构建高性能、可扩展的Web应用程序的框架。在Visual Studio中,可以使用ASP.NET Web API来创建和发布Web服务。在你的问题中提到了一个方法`Register(HttpConfiguration config)`,这是用于在ASP.NET Web API中注册配置的方法之一。通过调用这个方法,可以将Web API配置添加到应用程序中,以便可以处理传入的HTTP请求。 如果你想在IIS上发布Web API,可以参考另一篇博文中的指南。根据你提供的引用,你可以参照博文中的第3、4和6步来发布Web API。请注意,具体的步骤可能会因你的环境和需求而有所不同。 总结起来,Visual Studio是一个功能强大的开发工具,可用于进行各种类型的Web开发,包括使用Flask框架进行Python的Web开发和使用ASP.NET Web API创建和发布Web服务。你可以根据自己的需求选择适合的框架和技术,并使用Visual Studio的丰富功能和工具来开发高质量的Web应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值