- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
性能测试脚本编写思路及过程(国航为例)
脚本编写思路及过程
----国航为例
2011年8月
版本历史 版本号 日期 作者 描述 1.0.1 2011/08/05 王颖 以国航为例介绍性能测试脚本编写的入手点及思路。 目 录
一、文档目的 4
二、测试环境 4
三、脚本编写思路及前期准备 4
3.1 定位脚本编写入手点 5
3.2 抓取服务器真实请求日志 5
3.3 分离每个请求地址及参数 5
3.4 确定每次提交请求需添加的报文头 5
3.5 确定是否需要证书 5
四、编写脚本过程 5
4.1 引入所需头文件 5
4.2 引入所需外部dll文件 5
4.3 确定服务器地址 5
4.4 变量的定义,内存分配及释放 5
4.5 编写所需函数 5
4.6 加密信道建立 5
4.7 登录脚本 5
4.8 业务脚本 6
五、脚本结构附录 6
一、文档目的
本文的编写目的主要是帮助新接触性能的测试人员尽快地熟悉脚本编写的入手点及前期准备,从而尽快的掌握测试脚本编写的思路及方法。关于脚本编写规范请参见《LR脚本编写规范.doc》。
本文以“重现国航EWP_crashes”为例来讲解脚本的编写过程,国航的加密信道建立过程为EWP1.0的GetKey方法,区别于EWP3.2的ClientHelloClientKeyExchange方法。
二、测试环境
本环境是为“重现国航EWP_crashes” 搭建的新测试环境。
EWP服务器地址:4 用户名:root 密码: rytong4321
发布过程为:
(1)发布ewp1.0服务器(为方便更新重新编译及调试需带源码);
(2)发布客户端(android平台的 OPhone 1.5)
(3)下载地址(4/ota?m=android)
三、脚本编写思路及前期准备
3.1 定位脚本编写入手点
我们一般接到一个项目的性能测试任务,首先需要做的事情就是确定需求,即具体哪些业务需要进行性能测试,然后才能开始编写脚本。
就我们公司目前业务来说主要有三个,航空项目,银行项目,支付项目,除非登录业务外,都是从登录脚本开始编写的,但因登录之前会有握手或协商密钥的过程,从而导致登录脚本也是最复杂的。
在进行一个脚本的编写之前,首先想到的应该是我怎样获得这个业务的界面呢,比如怎样获得登录界面呢?在EWP1.0版本没有引入握手的概念,采用的是GetKey方法协商密钥进而用getui来获得登录界面的,而EWP3.2采用的简化的握手流程获得登录界面,这里以EWP1.0国航项目的为实例讲解。
3.2 抓取服务器真实请求日志
任选一款android平台手机,下载OPhone 1.5的国航客户端。
Ssh登录到4(用户名:root 密码: rytong4321),用命令【tail -f /var/www/app/pole/sites/ewp/current/log/report.log】直接查看实时日志,或到对应目录去看report.log文件查看历史日志。
在国航客户端一次进行如下操作:进入程序获得登录界面,用已存在用户非首次登录,进入机票预订界面,查询航班,选择航班,生成订单,本文忽略注册新用户及后续的支付过程。
查看的日志如下所示:
【进入程序获得登录界面】
=INFO REPORT==== 9-Aug-2011::15:06:05 ===
ewp_params:29 req = {http_request,POST,{abs_path,/phone/getui},{1,1}}
=ERROR REPORT==== 2-Aug-2011::16:46:55 ===
Processing phone_controller#getui (for at 2011-08-02 08:46:55) [POST]
Session ID: []
Parameters: [32,124,32|
skip=truemk=oKV8%2bq27umHGr9Whfgv3tJYfn39S7pvr4WFR2ltDmqw3ubRKb1rjSpUzAiZYGL4eASoGB17c26YPX5Fki9GB4UHzjJ6Sbnzg%2f4JNRbaeGxVgD%2bqo%2fsgbNB5w4YguBoFhB7Rd3EKdLidLNhGC2kGkSB%2fxpT48UhhVhhE066HX%2fUc%3dipflag=true]
User-Agent: Dalvik/1.1.0 (Linux; U; Android 2.1-update1; OMS1_6 Build/ECLAIR)
Completed in 0.037240
【用已存在用户非首次登录
文档评论(0)