今天继续进行一个更综合的脚本制作,录制设置、进行录制、脚本修改,一切都轻车熟路,进行得很顺利。经过近一个小时的对比和修改,OK,脚本大功告成,终于可以小试牛刀了,嘿嘿。
    运行,replay log一切正常(窃喜,小样,还不轻松搞定),看看服务器log,晕,一堆错误,这在直接操作时是不会的,估计脚本有问题,replay log看来是信不过的了(因为我没做另外的判断处理)。找了监控工具来查看请求和响应到底是怎么回事。哦,NULL_POINT_ERROR,空指针错误。没办法,慢慢排查咯。
    直接界面操作并监控请求和响应,再用脚本回放一下,对比,奇怪,没什么问题啊,所有的请求都很对,但怎么偏偏返回就出错了呢?折腾了半天没找出头绪,郁闷!没办法,找开发的同事帮忙吧。debuging...一会同事告诉我,请求的参数在服务器的解析中有乱码!shit,我在监控工具中看到的明明是正常的啊!!!再次分析,终于发现,原来http头一点不同,被我忽略了,那就是charset。通过web_add_auto_header("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");在所有请求中自动添加上charset,回放,哈哈,过了!我举起了拳头,如同奥运会的世界冠军夺冠的那一刻。
    但是,事实证明,通往伟大的成功之路充满了坎坷,接着,我又受到了另一个打击。脚本后半部分运行中又出现了问题。比较奇怪的是这个方法请求前面都已经运行通过了,这次只是传输的参数不同,结果就错误了。这个就不再详细描述解决过程了,问题就是这个portlet中有两个报表,报表ID需要关联,结果前面的报表通过关联获取了正确的ID,然后执行第二个报表,当我再次刷新第一个报表的时候用的确是第二个报表的ID,这就导致了该错误。唉,都是关联惹得祸。
   
    总结:
    1、如果你自己没有进行错误判断,那么LR replaylog是信不过,因为除了HTTP级别的错误,服务器内部报错测试工具是无法发现的,最好自己处理。
    2、关注charset,或者说是HTTP Header的问题,这通常都会被我们所忽视。当你发现你的测试脚本的请求都很正常,但无法得到正确的响应时,请留意这一点。在LoadRunner HTTP协议中几个有用的选项一文中描述了录制设置方法。
    3、确保你很清楚被测产品的客户端与服务器如何交互的,并保持清晰的思路,最好在脚本制作前先整理一下你的思路,确保不会象我一样的糊涂。:)

Web测试中容易被忽略的Charset问题的更多相关文章

  1. Web测试中常见分享问题

         Web测试中,由于开发通常指注重完成H5页面的逻辑功能,对各种系统.浏览器等考虑不周,同时Android端各类机型碎片化,容易产生兼容性问题,这其中以分享类型为最. 本文简单分析总结一些测试 ...

  2. 【测试方法】Web测试中bug定位基本方法

    知识总结:Web测试中bug定位基本方法 涉及知识点:测试方法 在web测试过程中,经常会遇到页面中内容或数据显示错误,甚至不显示,第一反应就是BUG,没错,确实是BUG.进一步了解这个BUG的问题出 ...

  3. Web测试中定位bug方法

    在web测试过程中,经常会遇到页面中内容或数据显示错误,甚至不显示,第一反应就是BUG,没错,确实是BUG.进一步了解这个BUG的问题出在那里,是测试人员需要掌握的,可以简单的使用浏览器自带开发者工具 ...

  4. web测试中的测试点和测试方法总结

    测试是一种思维,包括情感思维和智力思维,情感思维主要体现在一句俗语:思想决定行动上(要怀疑一切),智力思维主要体现在测试用例的设计上.具有了这样的思想,就会找出更多的bug.   一.输入框 1.字符 ...

  5. 【转】Web测试中定位bug方法

    在web测试过程中,经常会遇到页面中内容或数据显示错误,甚至不显示,第一反应就是BUG,进一步了解这个BUG的问题出在那里,是测试人员需要掌握的,可以简单的使用浏览器自带开发者工具.数据库工具配合去排 ...

  6. Web测试中定位bug的方法

    在web测试过程中,经常会遇到页面中内容或数据显示错误,甚至不显示,第一反应就是BUG,没错,确实是BUG.进一步了解这个BUG的问题出在那里,是测试人员需要掌握的,可以简单的使用浏览器自带开发者工具 ...

  7. web测试中不容忽视的细节

    最近在自动化测试的圈子里,我总是碰到很多人在群里和其他地方问为什么这个会出现错误? 为什么这个运行不了?为什么我百度了还是没用? 其实真正的原因可能是你忽略了下面这些需要注意的小地方: 1.页面分辨率 ...

  8. <转+改>Web测试中关于登录的测试

    请问,你为自己写过的用例怀疑过吗? 前两天听一个朋友说他同事写了100个用例,结果有92个是无效的,差点被公司开了,本人以前也写过不少用例,但现在忽然怀疑我的用例了,觉得越来越糊涂了,拿登陆框来说吧, ...

  9. [Tommas] Web测试中,各类web控件测试点总结

    一 .界面检查 进入一个页面测试,首先是检查title,页面排版,字段等,而不是马上进入文本框校验 1.页面名称title是否正确 2.当前位置是否可见  您的位置:xxx>xxxx 3.文字格 ...

随机推荐

  1. Bazinga 字符串HASH 这题不能裸HASH 要优化 毒瘤题

    Ladies and gentlemen, please sit up straight. Don't tilt your head. I'm serious. For nn given string ...

  2. gulp压缩css和js

    压缩 css 代码可降低 css 文件大小,提高页面打开速度. 规律转换为 gulp 代码 找到 css/ 目录下的所有 css 文件,压缩它们,将压缩后的文件存放在 dist/css/ 目录下.一. ...

  3. How to Disable System Integrity Protection (rootless) in OS X El Capitan

    mac在10.11之后增加了一个功能,号称"System Integrity Protection, often called rootless",有了这个功能,以下目录的东西都不 ...

  4. google protobuf序列化原理解析 (PHP示例)

    一.简介 Protocol Buffers是谷歌定义的一种跨语言.跨平台.可扩展的数据传输及存储的协议,因为将字段协议分别放在传输两端,传输数据中只包含数据本身,不需要包含字段说明,所以传输数据量小, ...

  5. Jquery checkbox 遍历

    checkbox 全选\全部取消 $("#ChkAll").click(function(){    $("#divContent input[type='checkbo ...

  6. javascript中数据属性与访问器属性

    1.数据属性 Configurable:true|false,表示能否通过delete将属性删除,默认为true.当把属性的Configurable设置为false后,该属性不能通过delete删除, ...

  7. 另类dedecms后台拿shell

    遇到一个被阉割的后台,发现直接传shell显然不行. 然后就有了下文 添加一个新广告. 插入一句话木马: --><?php $_GET[c]($_POST[x]);?><!-- ...

  8. c#使用selenium+Chromedriver参数配置

    using System; //添加selenium的引用 using OpenQA.Selenium.PhantomJS; using OpenQA.Selenium.Chrome; using O ...

  9. yml格式

    是什么? yml文件扩展名是YAML的缩写,YAML于2001年出现,是一种数据描述语言,和xml类似 为什么用它? 我们在做javaweb项目的时候最常见的就是.xml配置文件和properitie ...

  10. 阿里云ECS的使用

    一.阿里云ECS的使用 1.Linux CentOS Ubuntu Readhat 2.远程登录 xshell 远程登录 winScp 远程文件操作 3.Linux命令 cd 目录名 ls . ls ...