LR测试登陆后进行的操作时 绕过登录
oadrunner web_add_cookie
web_add_cookie 这个的函数原来真的能过逃过登录,哈哈,这个苦苦纠结我的问题呀。
函数原型:int web_add_cookie( const char *Cookie);
其中 cookie参数列表格式添加如下:
Defines the cookie to add or modify. The Cookie parameter has the following format:
name=VALUE; (required) //需要添加的cookie变量名=变量值,必须有
domain=DOMAIN_NAME; (required) 需要cookie的域名,必须有
expires=DATE; 失效日期 可以可无,最好有。又错了,该字段是根据服务端设置的,服务端设置可以保存多长时间,就保存多长时间,Lr在模拟时该时间一般要在服务端允许的时间范围内,但是不在范围内好像也不报错,估计也不会有用,有的cookie是根据session来的,比如截图中的cookie有效期为end of session,意思就是session死了,cookie也就失效了,所以你设置再长时间也没有用啦。
path=PATH; (default path is "/") cookie路径,默认是当前路径还是根目录呀?这个/目录到底是哪里呢?都不是,该path路径的意思是cookie的适应范围,/代表该cookie从该程序的根目录起适用。这个也是要根据服务端设置来的,看截图的path路径为/,表示呀该cookie从该应用的根目录开始适用,lr中按照此设置即可,当然也可以设置成根目录以下的目录,可是你客户端怎么知道根目录以下还有哪些目录呢?哈哈,所以这能照抄服务端返回的目录啦。
使用办法,在firefox浏览器中运行一次实际的登录过程,登录过程中开启httpfox插件,获取接受到的cookies各个字段的值,然后加到lr的初始化里(vuser_init()),绕过登录。
代码如下:
web_add_cookie ("tonido-login-seed-10001=588831e0-2d20-43bf-8aad-979590571e68; path=/; expires=Wednesday, 09–Nov–2011 23:12:40 GMT; domain=kortide.tonidoid.com");
web_add_cookie ("tonido-login-hash-10001=df420fa77e1facf1c5ad1d3de3b5ee007bffcf09; path=/; expires=Wednesday, 09–Nov–2021 23:12:40 GMT; domain=kortide.tonidoid.com");
web_add_cookie ("tonido-login-user-10001=kortide@tonidoid.com; path=/; expires=Wednesday, 09–Nov–2011 23:12:40 GMT; domain=kortide.tonidoid.com");
参数里的name,value,path,domain的值都是可以直接从httpfox中获取到的,至于expires你可以随便写,只要是未来时间即可。具体可看截图哈。
添加完cookie后,那些需要登录后才能进行的操作,再也不用登录后再操作了,因为登录实在是太消耗时间了,测试时遇到tonidoid只能同时登录5个用户的限制,我想做超过5个用户的并发场景,一直模拟不出来,这下应该能解决了,一会试试。
千真万确,解决了,哈哈。
http://tbaike.com/index.php?category-view-6.html 一个测试类的网站
又尝试写了一个函数自动获取页面换回的cookie:
int login(char cookies[10][100] )
{
char cookie[50]; // The formatted value of outFlightParam
int len,i;
web_reg_save_param("cookie",
"LB=Set-Cookie:",
"RB=HttpOnly",
"ORD=ALL",
"Search=headers",
LAST);
web_custom_request("loginprofile",
"URL=http://url",
"Method=POST",
"Resource=0",
"RecContentType=text/xml",
"Mode=HTML",
"EncType=text/plain; charset=utf-8",
"Body=profile={profile}&safemode=0&autologin=1&password={password}",
LAST);
len=atoi(lr_eval_string("{cookie_count}"));
for (i=1;i<=len;i++) {
sprintf(cookie,"{cookie_%d}",i);
sprintf(cookies[i-1],"%s",lr_eval_string(cookie));
lr_output_message("cookies %s",cookies[i-1]);
}
结果ok~~
包含cookie的头一般如下:
(Status-Line) HTTP/1.1 200 OK
Cache-Control private, no-cache, no-store, proxy-revalidate
Connection Close
Content-Length 102
Content-Type text/xml; charset=utf-8
Date Tue, 23 Aug 2011 06:10:10 GMT
Pragma no-cache
Set-Cookie tonido-login-seed-10001=fee60fe9-a70d-4936-aeac-64f27fdc21a2; path=/; HttpOnly
Set-Cookie tonido-login-hash-10001=9a82fb6088db8b05fa4e6f6b973c28d02383c954; path=/; HttpOnly
Set-Cookie tonido-login-user-10001=kortide@tonidoid.com; path=/; HttpOnly
LR测试登陆后进行的操作时 绕过登录的更多相关文章
- ECSHOP后台登陆后一段时间不操作就超时的解决方法
ECSHOP后台登陆后一段时间不操作就超时的解决方法 ECSHOP教程/ ecshop教程网(www.ecshop119.com) 2012-05-27 客户生意比较好,因此比较忙,常常不在电脑前 ...
- 记一次使用LR测试UDP和TCP的过程
背景 最近项目要做性能测试,要出要一份性能报告,让我出一个有关Tcp和Udp的功能模块的测试,流程大概是这样,先走TCP协议协商一下会话,协商成功后走Udp收发数据. 有点简单啊,自己写个功能模块测一 ...
- 【flask】登陆后返回之前重定向跳转的页面
登陆后返回之前重定向跳转的页面 一.前言 实现强制跳转到登陆页面,登陆后返回之前的页面的功能.网上跳登陆页面的很多:返回之前页面功能没多少.这里我只是用了自己的方法,有缺点和其他方法也请指点!(´ε` ...
- 关于SubSonic3.0插件使用Json反序列化获得的实体进行更新操作时,只能执行添加而不能执行修改(编辑)操作的处理
由于目前开发的项目使用云计算技术,客户端只进行UI与相关事件的功能开发,而所有的计算与处理都放到了服务器端,客户端与数据库没有任何关联,所以服务器端与客户端使用我们自己开发的通讯加密方式进行,而具体的 ...
- 关于有默认值的字段在用EF做插入操作时的思考(续)
问题描述 今天下午(看现在这时间,应该是昨天下午了哈),园友 choon 写了这样一篇博文<关于有默认值的字段在用EF做插入操作时的思考>. 博文内容主要记录的是 choon 使用 EF ...
- php涉及数据库操作时响应很慢。
症状描述: 网站是php开发的,大部分页面响应很慢. 本地开发时响应速度很快,但是部署到生产环境后大部分响应很慢. 通过谷歌浏览调试发现PHP页面加载很慢,有个别的php请求的响应时间甚至超过10秒, ...
- cmd 下登陆ftp及相关操作
cmd 下登陆ftp及相关操作 2011-08-09 20:34:28| 分类: 小技巧|字号 订阅 一.举例 假设FTP地址为“ 61.129.83.39”(大家试验的时候不要以这个FTP去试,应 ...
- dede后台登陆后一片空白的解决办法汇总
dede后台登陆后一片空白的第一种解决办法: 找到:include/common.inc.php文件,打开,查找程序代码://error_reporting(E_ALL);error_reportin ...
- chrome无法登陆账号,显示操作超时的解决方案
起因 今天重装了下windows操作系统,准备登陆chrome浏览器,以同步各种插件(你懂的),结果是...无法登陆账号,显示操作超时,真是无语了. 碰到了这个问题第一个直觉是:FQ.突然想到如果修改 ...
随机推荐
- Linux之:Ubuntu速学笔记(2)
撰写日期:2016-7-3 18:20:39 基本内容包括:Flash player安装.编译安装PHP.写个简单的PHP程序:Java程序(Java需要使用“javac”命令编译一下才能执行) 一. ...
- SSH项目与SSM项目的进入首页的方法
SSH项目中: jsp页面一般都是存放在WEB-INF下面的目录下,这样我们就不能直接访问到这些jsp页面了,保证了页面的安全性. 在struts的管理中,是利用action来实现页面的跳转,进入in ...
- redis常用配置
daemonize yes #是否以后台进程运行,默认为no pidfile /var/run/redis.pid #如以后台进程运行,则需指定一个pid,默认为/var/run/redis.pid ...
- Git创建ssh-key
打开git bash界面,输入: ssh-keygen -t rsa -C "yourname@email.com" 一路回车,后续保持默认值即可. 把C:\users\yourn ...
- win7下如何建立ftp服务器
前段时间正在做一个项目,需要上传东西到ftp服务器,纠结于如何建立ftp服务器.经过一番摸索.终于成功建立ftp服务器.现将我的经验跟大家分享一下.不足之处还望多多指点! 步骤/方法 首先在本地机器上 ...
- Codeforces 697A - Pineapple Incident
题目链接:http://codeforces.com/problemset/problem/697/A 题目大意: 输入三个数 t,s,x; 判断x是否合适 合适的位置位 t , t+s, t+s+1 ...
- Markdown常用用法
很早之前就听过Markdown,一直没用,用过才发现,原来这么好用,迷人,就好比一位知性.大方.成熟.美丽的少妇一样深深吸引着我,特深夜把学习的笔记记录下. 引用 ">"最好 ...
- iOS后台播放
### 音乐后台播放 * .当程序进入后台的时候,开启后台任务 ``` - (void)applicationDidEnterBackground:(UIApplication *) { // 开启后 ...
- DELL服务器引导光盘下载
http://www.dell.com/support/home/cn/zh/cndhs1/Drivers/DriversDetails?driverId=68RWT&fileid=27311 ...
- 【转】【Java】利用反射技术,实现对类的私有方法、变量访问
java关于反射机制的包主要在java.lang.reflect中,structs,hibernate,spring等框架都是基于java的反射机制. 下面是一个关于利用java的反射机制,实现了对私 ...