LR学习笔记14

编程入门 行业动态 更新时间:2024-10-08 02:25:22

LR<a href=https://www.elefans.com/category/jswz/34/1770117.html style=学习笔记14"/>

LR学习笔记14

测试脚本和开发一样,并不是一蹴而就的,通常要经过代码评审、编码、和测试等流程后,才会趋于稳定。VU脚本也需要调试、修改才能使得它更加完美。另外请注意解决测试脚本不仅要求你有过硬的技术,还要明确测试流程。

1.那么脚本编写的最佳流程应该是怎样的?请看:

最佳流程实践

(1)Generate:录制或开发脚本

(2)SUSI(Single  User Single Iteration,单用户单循环):运行录制生成的脚本,解决可能存在的关联问题。

(3)SUMI(Single  User Multi Iterations,单用户多循环):参数化脚本,在Run-Time Settings中设置Iteration,再次运行,验证参数化问题。

(4)MUSI(Multi  User Single Iterations,多用户单循环):Controller里多用户运行脚本,验证脚本中可能的多线程同步问题。

(5)MUMI(Multi  User Multi Iteration,多用户多循环):即性能测试的开始。

其中我们可以明确看出,第(1)、(2)、(3)是在Vuser中完成的,(4)、(5)是在Controller中完成的。

2.按照最佳流程实践做以下实例:

使用VU录制web Tours(机票预订网站),完成一个完整的机票预订流程,包括登陆、选择预订条件、下订单。具体要求如下:

(1)按照最佳实践流程的(1)、(2)、(3)来完成脚本。

录制的原脚本如下:

Action()
{web_url("tk.gif", "URL=.gif?when=run&r=0.019928641629045396", "TargetFrame=", "Resource=1", "RecContentType=image/gif", "Referer=", "Snapshot=t1.inf", LAST);web_url("qvod-hao123.gif", "URL=.gif?c=http%3A%2F%2F127.0.0.1%3A1080%2FWebTours%2F&r=0.5120322058432332", "TargetFrame=", "Resource=1", "RecContentType=image/gif", "Referer=", "Snapshot=t2.inf", LAST);web_add_cookie("uid=38oGGVZ+d3CIW0zdBBKNAg==; DOMAIN=i.g-fox");web_url("coba_official_v2.json", "URL=.json", "TargetFrame=", "Resource=1", "RecContentType=application/json", "Referer=", "Snapshot=t3.inf", LAST);web_url("adu.gif", "URL=.gif?channelid=www.firefox&fxversion=32.0.1&ceversion=&ver=2_2&pk=%7Bd3c72884-7347-4670-9212-879a13a350f6%7D&uk=%7B4f29b2c6-db66-4dcd-ac4a-e548e110fce4%7D&cehome=false&locale=zh-CN&moexts=cpmanager,cehomepage,share_all_cn,coba,quicklaunch,commonfix,wx-assistant&age=628&default=false&defaultHttp=false&flash=25.0.0.148&now=1503560881981", "TargetFrame=", "Resource=1", "RecContentType=image/gif", "Referer=", "Snapshot=t4.inf", LAST);web_url("adu-new.gif", "URL=.gif?ver=2_2&now=1503560881983&channelid=www.firefox&fxversion=32.0.1&ceversion=&locale=zh-CN&age=628&pk=%7Bd3c72884-7347-4670-9212-879a13a350f6%7D&uk=%7B4f29b2c6-db66-4dcd-ac4a-e548e110fce4%7D&ude=true&default=false&defaultHttp=false&cehome=false&flash=25.0.0.148&moexts=cpmanager:1.5.14,cehomepage:0.10.47.3,share_all_cn:0.22,coba:1.0.35,quicklaunch:1.1.8,commonfix:0.13,wx-assistant:1.1.5&fxa=true", "TargetFrame=", "Resource=1", "RecContentType=image/gif", "Referer=", "Snapshot=t5.inf", LAST);lr_think_time(6);web_url("WebTours", "URL=http://127.0.0.1:1080/WebTours/", "TargetFrame=", "Resource=0", "RecContentType=text/html", "Referer=", "Mode=HTML", EXTRARES, "Url=.gif?p=false&a=false&e=false&bsp=1&r=0.5001782111218975", "Referer=", ENDITEM, LAST);web_url("header.html", "URL=http://127.0.0.1:1080/WebTours/header.html", "TargetFrame=", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/", "Mode=HTML", LAST);web_url("getcontentnew", "URL==jQuery18308711439516326664_1503560891673&guid=ZZ2FA3B363A1982A803A50A149BA5FAE&_=1503560891683", "TargetFrame=", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/", "Snapshot=t6.inf", "Mode=HTML", LAST);web_url("welcome.pl", "URL=http://127.0.0.1:1080/WebTours/welcome.pl?signOff=true", "TargetFrame=", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/", "Snapshot=t7.inf", "Mode=HTML", LAST);web_add_cookie("renren_tag_0526=isTag; DOMAIN=127.0.0.1");lr_think_time(14);web_submit_data("login.pl", "Action=http://127.0.0.1:1080/WebTours/login.pl", "Method=POST", "TargetFrame=", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home", "Snapshot=t8.inf", "Mode=HTML", ITEMDATA, "Name=userSession", "Value=121795.131065209zcztiDHpAftVzzzHDHfiQpAccDcf", ENDITEM, "Name=username", "Value=wang", ENDITEM, "Name=password", "Value=wang123456", ENDITEM, "Name=login.x", "Value=39", ENDITEM, "Name=login.y", "Value=3", ENDITEM, "Name=JSFormSubmit", "Value=on", ENDITEM, LAST);lr_think_time(4);web_url("Search Flights Button", "URL=http://127.0.0.1:1080/WebTours/welcome.pl?page=search", "TargetFrame=body", "Resource=0", "RecContentType=text/html", "Referer=", "Snapshot=t9.inf", "Mode=HTML", LAST);web_add_cookie("Hm_lvt_dd4738b5fb302cb062ef19107df5d2e4=1487677640; DOMAIN=cclv.firefoxchina");web_url("Search Flights Button_2", "URL=http://127.0.0.1:1080/WebTours/welcome.pl?page=search", "TargetFrame=body", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=home", "Snapshot=t10.inf", "Mode=HTML", EXTRARES, "Url=.json", "Referer=", ENDITEM, LAST);web_submit_data("reservations.pl", "Action=http://127.0.0.1:1080/WebTours/reservations.pl", "Method=POST", "TargetFrame=", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/reservations.pl?page=welcome", "Snapshot=t11.inf", "Mode=HTML", ITEMDATA, "Name=advanceDiscount", "Value=0", ENDITEM, "Name=depart", "Value=London", ENDITEM, "Name=departDate", "Value=08/25/2017", ENDITEM, "Name=arrive", "Value=Paris", ENDITEM, "Name=returnDate", "Value=08/26/2017", ENDITEM, "Name=numPassengers", "Value=1", ENDITEM, "Name=seatPref", "Value=Aisle", ENDITEM, "Name=seatType", "Value=Coach", ENDITEM, "Name=findFlights.x", "Value=42", ENDITEM, "Name=findFlights.y", "Value=10", ENDITEM, "Name=.cgifields", "Value=roundtrip", ENDITEM, "Name=.cgifields", "Value=seatType", ENDITEM, "Name=.cgifields", "Value=seatPref", ENDITEM, LAST);web_add_cookie("Hm_lvt_dd4738b5fb302cb062ef19107df5d2e4=1487677640; DOMAIN=e.firefoxchina");web_submit_data("reservations.pl_2", "Action=http://127.0.0.1:1080/WebTours/reservations.pl", "Method=POST", "TargetFrame=", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/reservations.pl", "Snapshot=t12.inf", "Mode=HTML", ITEMDATA, "Name=outboundFlight", "Value=240;108;08/25/2017", ENDITEM, "Name=numPassengers", "Value=1", ENDITEM, "Name=advanceDiscount", "Value=0", ENDITEM, "Name=seatType", "Value=Coach", ENDITEM, "Name=seatPref", "Value=Aisle", ENDITEM, "Name=reserveFlights.x", "Value=43", ENDITEM, "Name=reserveFlights.y", "Value=10", ENDITEM, EXTRARES, "Url=.json", "Referer=", ENDITEM, LAST);lr_think_time(44);web_submit_data("reservations.pl_3", "Action=http://127.0.0.1:1080/WebTours/reservations.pl", "Method=POST", "TargetFrame=", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/reservations.pl", "Snapshot=t13.inf", "Mode=HTML", ITEMDATA, "Name=firstName", "Value=wa", ENDITEM, "Name=lastName", "Value=ng", ENDITEM, "Name=address1", "Value=&#27827;&#21271;", ENDITEM, "Name=address2", "Value=&#21271;&#20140;", ENDITEM, "Name=pass1", "Value=&#29579;&#20013;", ENDITEM, "Name=creditCard", "Value=88996688", ENDITEM, "Name=expDate", "Value=11/12", ENDITEM, "Name=saveCC", "Value=on", ENDITEM, "Name=oldCCOption", "Value=on", ENDITEM, "Name=numPassengers", "Value=1", ENDITEM, "Name=seatType", "Value=Coach", ENDITEM, "Name=seatPref", "Value=Aisle", ENDITEM, "Name=outboundFlight", "Value=240;108;08/25/2017", ENDITEM, "Name=advanceDiscount", "Value=0", ENDITEM, "Name=returnFlight", "Value=", ENDITEM, "Name=JSFormSubmit", "Value=off", ENDITEM, "Name=buyFlights.x", "Value=4", ENDITEM, "Name=buyFlights.y", "Value=7", ENDITEM, "Name=.cgifields", "Value=saveCC", ENDITEM, LAST);lr_think_time(11);web_url("Home Button", "URL=http://127.0.0.1:1080/WebTours/welcome.pl?page=menus", "TargetFrame=body", "Resource=0", "RecContentType=text/html", "Referer=", "Snapshot=t14.inf", "Mode=HTML", LAST);web_url("Home Button_2", "URL=http://127.0.0.1:1080/WebTours/welcome.pl?page=menus", "TargetFrame=body", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=flights", "Snapshot=t15.inf", "Mode=HTML", LAST);web_url("SignOff Button", "URL=http://127.0.0.1:1080/WebTours/welcome.pl?signOff=1", "TargetFrame=body", "Resource=0", "RecContentType=text/html", "Referer=", "Snapshot=t16.inf", "Mode=HTML", LAST);web_add_cookie("MSO=SID&1503560893&MSO_JSFormSubmit1&on&MSO_ServerErrorsProb&50&MSO_ServerLoadProb&50; DOMAIN=127.0.0.1");web_add_cookie("MTUserInfo=firstName&wa&username&wang&address2&beijing&hash&39&expDate&11%2F12&creditCard&88996688&address1&hebei&lastName&ng%0A; DOMAIN=127.0.0.1");web_url("SignOff Button_2", "URL=http://127.0.0.1:1080/WebTours/welcome.pl?signOff=1", "TargetFrame=body", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=home", "Snapshot=t17.inf", "Mode=HTML", LAST);lr_output_message("脚本执行成功,我就打印出来!");return 0;
}

 

(2)按照关联实践,查看是否有需要关联的数据。

对于关联这里:因为我单用户单循环,单用户多循环都没有报错,所以没有进行关联。

所以只对订票日期和座位位置坐了参数化。

(3)能够在Controller中实现5个用户并发,选择不同的条件预订机票,考虑VU参数表应该怎样设计,怎样修改脚本,并通过设置迭代次数来验证参数表机制。

这部分后续学习了补上~~~嘿哈

 

 

 

 

 

 

转载于:.html

更多推荐

LR学习笔记14

本文发布于:2024-03-14 05:03:58,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1735688.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:学习笔记   LR

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!