标签:
上一篇 / 下一篇 2013-07-04 08:07:19 / 个人分类:相关知识
1.首先下载安卓模拟器
http://www.kuaipan.cn/file/id_12631777990415718.htm
以上地址是已经配置好的安卓模拟器,可以直接使用。(PS: 需有金山快盘账号,因为文件比较大160M左右,请耐心下载)
2.下载完成解压后,可通过运行AVD来打开已经配置好的模拟器选择相应的模拟器或者直接运行tools 目录下的emulator.exe 来启动。如下图
3.当然这里面我们为了能够让LR录制到模拟器中手机操作的通信数据,不要在这个地方启动,我们通过下面LR录制选项来进行。
这里要选择Mobile Application - HTTP/HTML 协议。
3.选择record
这里选择第三个选项Record Emulator
4.选择下一步后,在如下界面中一定要选择tools目录下的emulator.exe
comand line填@Test或者直接在上面emulator.exe 后面加也行。Test是创建的模拟器的名称,如果你在AVD中新建了其它模拟器,改成相应的名称即可。
5.点finish就OK了,稍后会启动模拟器。这里注意因为当前使用的是mobile http/html协议,LR不会录制对模拟器的操作,而只会根据发送的网络数据分析来产生脚本。所以不必担心。
6.打开浏览器输入百度地址,停止录制,模拟器则会生成如下代码。
C代码
1 Action()
2 {
3 lr_start_transaction("Search_Baidu");
4 web_url("www.baidu.com",
5
6 "URL=http://www.baidu.com/",
7 "Resource=0",
8 "RecContentType=text/html",
9 "Referer=",
10 "Snapshot=t8.inf",
11 "Mode=HTML",
12 EXTRARES,
13 "Url=/static/index/innovation/cache.manifest", "Referer=", ENDITEM,
14 "Url=http://m.baidu.com/static/index/i.gif", "Referer=", ENDITEM,
15 "Url=http://m.baidu.com/static/tj.gif?prod=default&type=loadpagetime_2981&time=1353480543397&from=index", ENDITEM,
16 "Url=http://m.baidu.com/static/tj.gif?prod=default&type=pv&pt=index&time=1353480543680&from=index", ENDITEM,
17 "Url=http://m.baidu.com/static/hb/hot.gif", "Referer=", ENDITEM,
18 "Url=http://a.m.baidu.com/rtstatic/index?&module=index&session=baiduapp&item=show", ENDITEM,
19 "Url=/favicon.ico", ENDITEM,
20 LAST);
21 lr_end_transaction("Search_Baidu", LR_AUTO);
22
23 return 0;
24 }
相信到这里,进行后面的操作也就不困难了。
第一篇我们介绍了如何通过LR来捕获手机发出的真实访问数据,这一篇我们将介绍捕获数据之后的操作。
接第一篇:
1. 用wireshark 捕获手机访问的数据后,可以根据协议来筛选仅HTML或者不筛选让LR自己分析。选择另存将wireshark 获取的数据包保存为.pcap格式。
2. 打开LR11.5(至少是以上版本才支持此协议)。选择 mobile http/html协议。
2.选择录制
3.选择导出的.pcap文件,并选择第二项,通过分析数据以生成脚本,其它用默认即可。
4.导入后我们来看一下生成的脚本代码
Action()
{
web_add_cookie("QN48=tc_f39fc2c153a007a1_13c29f5c48b_90e7; DOMAIN=touch.qunar.com");
web_add_cookie("QN1=wKgZEVDwHiZ0pjsMBcTaAg==; DOMAIN=touch.qunar.com");
web_add_cookie("QN48=tc_f39fc2c153a007a1_13c29f5c48b_90e7; DOMAIN=bc.qunar.com");
web_add_cookie("QN1=wKgZEVDwHiZ0pjsMBcTaAg==; DOMAIN=bc.qunar.com");
web_url("touch.qunar.com",
"URL=http://touch.qunar.com/",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
EXTRARES,
"Url=http://bc.qunar.com/wap?utmwv=0.1&t=0.7578790553379804&utmsr=720*1280&utmr=-1&utmp=http%3A%2F%2Ftouch.qunar.com%2F&utmhn=touch.qunar.com&s=266&a=tw_index", ENDITEM,
LAST);
web_link("SelectFlight",
"Text=SelectFlight",
"Snapshot=t2.inf",
EXTRARES,
"Url=http://bc.qunar.com/wap?utmwv=0.1&t=0.4847093583084643&utmsr=720*1280&utmr=http%3A%2F%2Ftouch.qunar.com%2F&utmp=http%3A%2F%2Ftouch.qunar.com%2Fflight.jsp%3Fbd_source%3Dqunar%26backUrl%3D%252F&utmhn=touch.qunar.com&s=254&a=tw_flightIndex", "Referer=http://touch.qunar.com/flight.jsp?bd_source=qunar&backUrl=%2F", ENDITEM,
"Url=/filghtCitySuggest.jsp?city=%25E4%25B8%258A%25E6%25B5%25B7&_=1357913752957", "Referer=http://touch.qunar.com/flight.jsp?bd_source=qunar&backUrl=%2F", ENDITEM,
"Url=/filghtCitySuggest.jsp?city=%25E6%25AD%25A6%25E6%25B1%2589&_=1357913758311", "Referer=http://touch.qunar.com/flight.jsp?bd_source=qunar&backUrl=%2F", ENDITEM,
LAST);
web_add_cookie("QN48=tc_f39fc2c153a007a1_13c29f5c48b_90e7; DOMAIN=source.qunar.com");
web_add_cookie("QN1=wKgZEVDwHiZ0pjsMBcTaAg==; DOMAIN=source.qunar.com");
web_url("flightList.jsp",
"URL=http://touch.qunar.com/flightList.jsp?startDate=2013-01-13&backDate=2013-01-16&flightType=oneWay&bd_source=qunar&backUrl=%2Fflight.jsp%3FbackUrl%3D%252F%26bd_source%3Dqunar&startCity=%e6%88%90%e9%83%bd&destCity=%E6%AD%A6%E6%B1%89",
"Resource=0",
"RecContentType=text/html",
"Referer=http://touch.qunar.com/flight.jsp?bd_source=qunar&backUrl=%2F",
"Snapshot=t3.inf",
"Mode=HTML",
EXTRARES,
"Url=http://bc.qunar.com/wap?utmwv=0.1&t=0.8687613171059638&utmsr=720*1280&utmr=http%3A%2F%2Ftouch.qunar.com%2Fflight.jsp%3Fbd_source%3Dqunar%26backUrl%3D%252F&utmp=http%3A%2F%2Ftouch.qunar.com%2FflightList.jsp%3FstartDate%3D2013-01-13%26backDate%3D2013-01-16%26flightType%3DoneWay%26bd_source%3Dqunar%26backUrl%3D%252Fflight.jsp%253FbackUrl%253D%25252F%2526bd_source%253Dqunar%26startCity%3D%25E4%25B8%258A%25E6%25B5%25B7%26destCity%3D%25E6%25AD%25A6%25E6%25B1%2589&utmhn=touch.qunar.com&s=255&a="
"tw_flightList", "Referer=http://touch.qunar.com/flightList.jsp?startDate=2013-01-13&backDate=2013-01-16&flightType=oneWay&bd_source=qunar&backUrl=%2Fflight.jsp%3FbackUrl%3D%252F%26bd_source%3Dqunar&startCity=%e6%88%90%e9%83%bd&destCity=%E6%AD%A6%E6%B1%89", ENDITEM,
"Url=http://source.qunar.com/site/images/wap/touch/images/sp.v.png", "Referer=http://touch.qunar.com/flightList.jsp?startDate=2013-01-13&backDate=2013-01-16&flightType=oneWay&bd_source=qunar&backUrl=%2Fflight.jsp%3FbackUrl%3D%252F%26bd_source%3Dqunar&startCity=%E4%B8%8A%E6%B5%B7&destCity=%E6%AD%A6%E6%B1%89", ENDITEM,
"Url=http://source.qunar.com/site/images/wap/touch/images/icon.r.png", "Referer=http://touch.qunar.com/flightList.jsp?startDate=2013-01-13&backDate=2013-01-16&flightType=oneWay&bd_source=qunar&backUrl=%2Fflight.jsp%3FbackUrl%3D%252F%26bd_source%3Dqunar&startCity=%E4%B8%8A%E6%B5%B7&destCity=%E6%AD%A6%E6%B1%89", ENDITEM,
"Url=http://source.qunar.com/site/images/wap/touch/images/icon.top.png", "Referer=http://touch.qunar.com/flightList.jsp?startDate=2013-01-13&backDate=2013-01-16&flightType=oneWay&bd_source=qunar&backUrl=%2Fflight.jsp%3FbackUrl%3D%252F%26bd_source%3Dqunar&startCity=%E4%B8%8A%E6%B5%B7&destCity=%E6%AD%A6%E6%B1%89", ENDITEM,
"Url=http://source.qunar.com/site/images/wap/touch/images/icon.asc.png", "Referer=http://touch.qunar.com/flightList.jsp?startDate=2013-01-13&backDate=2013-01-16&flightType=oneWay&bd_source=qunar&backUrl=%2Fflight.jsp%3FbackUrl%3D%252F%26bd_source%3Dqunar&startCity=%E4%B8%8A%E6%B5%B7&destCity=%E6%AD%A6%E6%B1%89", ENDITEM,
LAST);
return 0;
}
5.通过以上我们可以看出生成的脚本是基于手机版的,去哪网的数据。
如果你对lr 操作比较了解的话,上面一步之后可能就会想到参数化,如果在尝试后可能就会发现有一个问题出现。如:
通过观察我们知道这里面提交数据是通过get方式,URL传递数据的,所以在参数化的过程中需要对这里面的参数进行修改。
日期和单程往返都很好操作,问题是出发地点和目的地中文是经过编码的,这个时候怎么办呢?
几种办法解决:
1.最好是自己编写中文转utf-8的dll加载,是最好的方式。
2.如果借助其它工具好编码后,填在参数表里面。
下面我们来看一下借助工具解码后,上面URL中所包含的信息
到这里相信大家知道怎么在这种情况下对此进行参数化了。
下面我们来看一下手动关联后的脚本情况:
最好不要用自动关联,虽然LR11.5已经准确了不少,但还是会出现截取不准确的情况。
C代码
1 <span>Action()
2 {
3 char DistrictName[15]={NULL},
4 CityCode[20]={NULL},
5 ProvinceCode[20]={NULL},
6 DistrictCode[20]={NULL};
7 int DistrictSequence=0;
8 web_add_cookie("JSESSIONID=6B75C5017659AA3BFB2C89746A16D20F; DOMAIN=m.weathercn.com");
9 </span>
type url,the default city code is shanghai, you can parameterize it
这里默认定位是上海,可通过后面的关联将省代码获取到,然后进行参数化避免每次打开都是上海C代码
10 <span style="font-family: ‘Microsoft YaHei‘,微软雅黑,SimHei,tahoma,arial,helvetica,sans-serif;">web_url("m.weathercn.com",
11 "URL=http://m.weathercn.com/?cid=01012601",
12 "Resource=0",
13 "RecContentType=text/html",
14 "Referer=",
15 "Snapshot=t1.inf",
16 "Mode=HTTP",
17 LAST);
18
19 </span>
C代码
20 <span>
21 /*select province*/
22
标签:
原文地址:http://www.cnblogs.com/zhengah/p/4623272.html