利用lr测试客户端发起的动态变化数据
来源:互联网 发布:淘宝网女士秋装 编辑:程序博客网 时间:2024/05/14 12:44
最近测试的项目需要使用工具产生大批量由客户端向服务器端发起的数据,基本过程如下。访问电商网站,访问中每次页面点击都会调用php程序,程序获取客户端的cookies,session等数据,从而发起一串经过处理的字符串给服务器端。需求是不断产生cookies,session,时间等参数变化的请求,自然越多越好。其目的并不仅仅是测试服务器压力,而是测试服务器处理大并发量请求的正确稳定性。
开始使用web(http/html)脚本协议录制回放后发现,脚本中每次页面点击都产生了希望看到的请求,但是字符串都是死的,这样在回放的过程中,每次请求都是固定的值,不是我想要的结果,怎么解决该办法呢?
首先我想到的自然是利用关联。但关联往往用在客户端接收服务器传来的动态数据。要弄清楚传参的整个过程需要费一点时间,并且该次测试并不关注于响应时间这样的数据,所以另寻办法找到了和web(http/html)类似的web(click and script)脚本协议。该协议的录制过程中会记录页面鼠标键盘的所有操作。简而言之,前者记录所有后台发起的请求,后者记录所有前台发起的请求,再转换成后台请求。后者多了一步经过服务器响应转换的过程,自然效率要大打折扣了。
录制回放的过程中又再次遇到了问题,会经常出现image not found以及"一个或多个activex控件无法显示"这样的错误,导致回放无法继续进行。一头雾水之后,仔细看了下replay log,出现image not found 报错后lr给出了友情提示,建议使用ajax(click and script)脚本协议。原来是由于web协议对于ajax的支持有限造成的错误。之后产生的脚本如下
web_text_link("首页",
"Snapshot=t144.inf",
DESCRIPTION,
"Text=首页",
"Ordinal=1",
ACTION,
"UserAction=Click",
LAST);
web_text_link("生活电器",
"Snapshot=t145.inf",
DESCRIPTION,
"Text=生活电器",
ACTION,
"UserAction=Click",
LAST);
这样每次click都能产生动态变化的数据发给服务器,成功在望。最后需要解决的是cookies自动生成的问题。想到web_add_cookie()这样的函数,并且写了一个随机字符串的函数。让每次迭代之前都强加一个cookies,自然达到了目的。后想,其实lr生成的每次并发都会自带一个cookies,如果在每次迭代之后把cookies更新不就更容易么。天无绝人之路,web_cleanup_cookie()方法帮我解决了这一问题,在脚本最后加上这个函数。运行后,大功告成。奇功一件。
- 利用lr测试客户端发起的动态变化数据
- 同一张表内、利用变化的上一行数据动态地修改下一行数据(示例Demo)
- 利用LR做性能测试中出现的常见问题解决方案
- 利用LR做性能测试中出现的常见问题解决方案
- 利用LR做性能测试中出现的常见问题解决方案
- 利用LR做性能测试中出现的常见问题解决方案
- 利用JQGrid动态删除多行数据,行号(即删除/增加数据)变化的问题
- LR 测试http协议xml格式数据的服务器
- 小结一下那些发起数据请求的元素(客户端与服务器端的基情)
- 利用oracle审计功能来监控测试数据库的变化
- Android客户端使用HttpClient发起web数据访问
- Android客户端使用HttpClient发起web数据访问
- Qt 从客户端发起http响应 获取网页数据
- Vue 动态响应数据变化
- 利用Struts2发起ajax请求,实现数据交互
- LR测试文件/表参数的数据分配和更新方法(十)
- 最全的软件测试工具LR中性能数据翻译(一)
- 图片的动态变化
- 【Protle99SE】PCB中各层的含义【小汇】
- 【小程序】注解实现小型应用程序框架
- WORD文档中划线的设置方法
- Oracle BIEE11g(11.1.1.1.5)安装时 Creating A SInstance出错
- 清除sql表中所有数据
- 利用lr测试客户端发起的动态变化数据
- GPIO驱动相关笔记
- WebService CXF学习(入门篇1):CXF由来
- Table 函数使用简介
- 网络编程(tcp文件服务器)
- 自定义菜单
- Linux内核中无名管道pipe和有名管道fifo的分析
- 关于网站asp解决时间戳问题
- WebService CXF学习(入门篇2):HelloWorld