今日分享主题:
借助 loadRunner 如何使用纯代码来助力 api 的压力测试,需要读者对loadRunner 有一定的基础了解,以便更好的理解本文分享的示例代码及参数信息。
FUN:web_custom_request
web_custom_request方法可以发送POST和GET类型的请求
参数详解:
URL- 请求地址
Method – 请求方法 POST 或 GET
EncType – 编码类型,指定Content-Type,如"text/html","application/json"等,会重写 web_add_[auto_]header中定义的Content-Type。
RecContentType – 响应头编码类型(Content–Type) e.g., text/html, application/x–javascript
Body – 请求体,不同的应用中,请求体分别通过Body、BodyBinary或者BodyUnicode参数来传递
Resource – 指示URL是否属于资源。1 是;0 不是。设置了这个参数后,RecContentType参数被忽略。
Mode – 录制级别: HTML 或 HTTP
UserAgent – 用户代理,它是一个HTTP头的名字,用来标识应用程序,通常是浏览器,它呈现的是用户和服务器的交互。返回LR_PASS(0)代表成功,LR_FAIL(1)代表失败。
注:
“Resource=1”:意味着当前操作与所在脚本的成功与否关系不大。
在下载资源时如果发生错误,是当作警告而不是错误来处理的;
URL是否被下载受“Run-Time Setting—Browser Emulation–Download non-HTML resources” 这个选项的影响。
此操作的响应信息是不作为 HTML 来解析的。
“Resource=0”:表明此URL是重要的,不受发送请求(RTS)的影响,在需要时也会解析它。
示例:
web_custom_request("entry",
"Method=POST",
"URL=http://apitest-subaccounts.stg-test.com/account/flow/entry", //单笔交易记账接口
"Resource=0",
"RecContentType=application/json",
"Referer=",
"Mode=HTTP",
"EncType=application/json",
"Body={\"userId\": \"performance_userId_credit\",\"opponentUserId\": \"performance_userId_cash\",\"accountGuid\": \"c632ee2f0000e1ac\",\"opponentAccountGuid\": \"c63303970000faac\",\"direct\": \"-1\",\"amount\": \"0.01\",\"transactionGuid\": \"transactionGuid_{random}_{localtime_now}\",\"description\": \"entry\"}",
LAST);
FUN:web_submit_data
处理“无状态”或者“无上下文”的表单提交,只能发送POST类型的请求
所有web_submit_data方法发送的请求都可以使用web_custom_request来实现
web_submit_data请求中提交的数据是以这样的方式存在的【“Name=属性名称”,“Value=属性值” 】
示例:
web_submit_data("login",
"Action=http://192.168.214.111:8080/login",
"Method=POST",
"RecContentType=application/json",
"Referer=http://192.168.214.111:8080/index",
"Snapshot=t1.inf",
"Mode=HTML",
ITEMDATA,
"Name=id", "Value=xxx", ENDITEM,
"Name=password", "Value=xxx", ENDITEM,
LAST);
FUN:web_url
加载指定的页面
示例:
web_url("webPage.html",
"URL=http://192.168.214.111:8080/cms/login/weblogin.html",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
EXTRARES,
"Url=../text/lib/bootstrap/fonts/glyphicons-halflings-regular.eot", ENDITEM,
LAST);
在这里还是要推荐下我自己建的软件测试学习Q群: 746506216,群里都是学测试的,如果你想学或者正在学习测试,欢迎你加入,大家都是测试党,不定期分享干货(只有软件测试相关的),包括我自己整理的一份2022最新的Python自动化测试进阶资料和零基础教学,欢迎进阶中和对测试感兴趣的小伙伴加入!