大多数基于.net平台的系统会有DropDownList控件(下拉选项列表),该组件有一个属性称为AutoPostBack,这是一种数据自动回发机制。当用户更改了下拉选项,系统会自动将新数据提交给服务器端处理,随后刷新客户端页面,显示服务器端回传的处理结果(从原理来说 ,更改下拉选项,会激发SelectedIndexchange事件,事件代码被执行)。
奇怪的现象:
录制被测系统的一个统计模块后(该模块包含一个DropDownList控件且激活了AutoPostBack机制),用LoadRunner回放时报HTTP 500错误,如图所示。
HTTP 500错误表示服务器无法响应客户端发出的页面请求,页面地址是统计结果所在页面的地址,且无论设置多少个并发用户来跑脚本均报错。
第一次碰到这样的现象,原因根本不明。查找baidu和google 也查不到类似问题的解答。起初怀疑是LR9.0不支持激活了AutoPostBack属性的.net控件,但想想强大的LR不该如此弱智。回放报错的现象无法避免就无法对这个统计模块进行性能测试,关键的问题还是没有任何这方面的资料,我在论坛里拼命发帖以及求助同行都未果,只能把问题暂且搁置。
后来某天无意看到一篇分析LR报错提示的文章,其中提到导致HTTP500错误的原因之一是录制时激活了自动关联(缺省情况下是激活的),有时LR设置的自动关联反而会导致脚本回放时出错,但文章没有提到.net控件。这篇文章激发了我的灵感,会不会是这个原因引起的呢?于是我去掉了自动关联重新录制了统计脚本,回放时很顺利,没再出任何错误,问题解决!但如果要剖析自动关联为何会引起HTTP500错误,也许就要结合实际的.net程序源码来分析,涉及到白盒测试范畴,此处不做详解。
经验:如果回放脚本时LR提示莫名其妙的HTTP 500错误,可以尝试去掉自动关联。方法是启动VUG,选择tools->recording options,如图所示。但不是所有的HTTP 500报错都是因为自动关联,具体情况还要具体分析。
版权声明:原创作品,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明,否则将追究法律责任。本文出自yantong的51Testing软件测试博客:http://www.51testing.com/?36807
相关阅读:
LoadRunner性能测试手记—第2天 IP欺骗引发的问题
LoadRunner性能测试手记—第1天 无法启用IE录制脚本