300) { text = text + "\r\n\n本文来自CSDN博客,转载请标明出处:" + location.href; clipboardData.setData("text", text); } }, 100); } }
学习一天时间,把过程记录下来,有些是前辈的资料,有些是自己的总结,如果有什么不对的地方,希望大家指正,QQ:408442756
WebService定义:
Webservice是一种新的使用基于XML标准和协议来交换信息的WEB应用程序。是基于SOAP(简单对象访问协议)消息的应该协议,只是为WEB页面或可执行程序提供编程接口。
个人理解:就是webservice服务与客户端的数据交流是通过XML来实现,XML文件就是接口,客户端发送XML文件的请求,XML文件中有要调要后台的方法和传送的数据等信息。服务器返回结果到客户端也是XML文件,
注:基于Webservice构建的应该系统称之为SOA(面向服务架构),系统性能取绝于服务组件的单独性能以及接口性能。
名司解释
在构建和使用Web Service时,主要用到以下几个关键的技术和规则:
1.XML:描述数据的标准方法.
2.SOAP:表示信息交换的协议.
3.WSDL:Web服务描述语言.
4.UDDI(Universal Description, Discovery and Integration):通用描述、发现与集成,它是一种独立于平台的,基于XML语言的用于在互联网上描述商务的协议。
用Loadrunner测试webservice测试一般步聚是:
(1) 选择Loadrunner的webservice协议
(2) 导入WSDL。个人认为是让LR同Webservice建立连接,如果导入成功后,在Operations栏中可以看到webservice接口提供的方法
特别注意:如果webservier是asp.net开发以“*.asmx”结尾的路径。要加上“?wsdl”才能成功。如:http://192.168.0.30/securityws/SecurityWebService/SecurityWS.asmx?wsdl。
总之,应该是以wsdl结尾才正常吧
(3) Webservice导入LR成功后,我们可以创建两种请求中的任意一个,
第一种是:“add service call”,
第二种是.“Import SOAP”,
(4) 创建相关请求,生成代码,并参数化。
(5) 打印响应信息功能,调试代码,直到成功。
如:lr_message(lr_eval_string("Response XML is\n{response}"));
如上参见:http://blog.testsautomation.com/2009/07/web-services-testing-in-loadrunner/
LR WEBSERVICE性能测试
LR在WebService虚拟用户协议中支持两种方式测试WebService,一种是通过“Add Service Call”的方式,一种是Import SOAP的方式。
Import SOAP的方式需要导入定义好的XML请求文件。
取到WebService返回的XML数据后,可以使用XPath的方式验证数据,LR提供了几个处理XML的函数:
lr_xml_get_values() //Retrieves values of XML elements found by a query
lr_xml_set_values() //Sets the values of XML elements found by a query
lr_xml_extract() //Extracts XML string fragments from an XML string
lr_xml_delete() //Deletes fragments from an XML string
lr_xml_replace() //Replaces fragments of an XML string
lr_xml_insert() //Inserts a new XML fragment into an XML strin
lr_xml_find() //Verifies that XML values are returned by a query
lr_xml_transform() //Applies Extensible Stylesheet Language (XSL) Transformation to XML data
参见:http://blog.testsautomation.com/2009/05/validating-web-service-response-with-xpath/
实际上,使用LR还有一种测试WebService的方式,就是采用HTTP协议,因为WebService是构建在HTTP协议之上的,因此可以WEB虚拟用户协议中的web_custom_request来构造WebService的请求。
Action()
{
web_reg_save_param("Response","LB=", "RB=", LAST);
web_add_header("SOAPAction", "SampleMethod");
lr_start_transaction("REQ");
web_custom_request("Sample_Request","Method=POST",
"Mode=HTML",
"RecContentType=text/xml",
"EncType=text/xml; charset=utf-8",
"URL=http://example.com:1234/sample/",
"Body=<Envelope xmlns=\"http://example.com/sample\">\n"
" <Header/>\n"
" <Body>\n"
" <price><id>001</id></price>\n"
" </Body>\n"
"</Envelope>",
"LAST");
lr_end_transaction("REQ", LR_AUTO);
lr_output_message("Response is : %s\n", lr_eval_string("{Response}"));
return 0;
}
参见:http://blog.testsautomation.com/2009/01/web-services-performance-using-loadrunner/
学习LR测试WebService时,如果没有现成的WebService,又懒得写或不会写,可以用Parasoft网站的WSDL来试验:
http://soatest.parasoft.com/store-01.wsdl
、
示例代码
1. <books>
2. <book>
3. <id>123</id>
4. <author>John Smith</author>
5. <title>Working with Legacy code</title>
6. <publisher>Microsoft</publisher>
7. </book>
8. </books>
-
Action()
- {
-
web_add_header("SOAPAction","\"CallMe\"");
-
lr_start_transaction("AUTHOR");
-
soap_request("StepName=Sample Soap Request",
-
"ExpectedResponse=ANY",
-
"URL=http://foo.com/api",
-
"SOAPEnvelope= "
-
"<?xml version=\"1.0\"encoding=\"utf-8\"?>"
-
"<soap:Envelope "
-
"xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"
-
"<soap:Body soap:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">"
-
"<GetBookDetails>"
-
"<idValue>123</idValue>"
-
"</GetBookDetails>"
-
"</soap:Body>"
-
"</soap:Envelope>",
-
"Snapshot=t765765765.inf",
-
"ResponseParam=Response_Xml",LAST);
-
-
-
lr_xml_get_values("XML={Response_Xml}",
-
"ValueParam=Author_Name",
-
"Query=/books/book/author",
-
LAST);
-
-
lr_output_message(lr_eval_string("Author is = {Author_Name}"));
-
-
if(strcmp(lr_eval_string("{Author_Name}"),"John Smith"<SPAN style="FONT
相关推荐
Loadrunner Webservice压力测试步骤示例,有截图
LoadRunner 下WebService 测试的若干问题
LoadRunner如何测试WebService
一步步教你用LoadRunner测试WebService
LoadRunner下WebService测试的若干问题
LoadRunne如何测试webservice
主要涉及WEBSERVICE下性能测试的一些存在的问题.
为什么应进行自动化性能测试?如何创建脚本?业务场景分析?
loadrunner webservice协议脚本如何使用http协议编写
准备webservice测试接口,实验中用的是天气预报的接口地址:http://ws.webxml.com.cn/天气预报接口地址:http://ws.webx
讲述LoadRunner如何建立关联,设置关联
NULL 博文链接:https://lindows.iteye.com/blog/1725279
详细的测试流程,LR综合应用,工作中帮你解决问题,绝对超值。
包含如下: Loadrunner编程.doc loadrunner的html和url录制方式的差别.doc Loadrunner监控的性能计数器.doc Loadrunner结果分析.doc Loadrunner结果分析自我...LR下的WebService测试总结.doc 性能测试工程师面试题.doc
对于如何使用loadrunner对webservice进行脚本的录制及编写很详细的介绍。
包括: a.LoadRunner 227个问题.CHM b.LoadRunner下WebService测试的若干问题.doc c.用LR测试常见问题.pdf d.analysis8.1.pdf e.controller8.1.pdf f.虚拟用户生成器8.1.pdf
接口是指系统模块与模块或系统与系统间进行交互,一般现在我们用的多的是基于HTTP协议为基础的接口(包括WebService协议或者Tuxedo [tʌkˈsi:dəʊ]协议),除此之外还有RPC(Remote Procedure Call Protocol)的接口,...
HETF-LoadRunner使用入门手册.docx HETF-MySQL 核心技术指导手册.docx HETF-Nginx 使用入门手册.docx HETF-Spring Boot入门手册.docx HETF-WebService 开发入门.docx HPS-值集使用手册.docx HPS-快码使用手册.docx
体验.net 2.0 的优雅(1) -- 异步WebService调用 ASP.NET 2.0页面框架的几点新功能 ASP.NET 2.0 中收集的小功能点 asp.net2.0中的webpart使用小记 2.0问题、错误解决办法 ASP.NET 2.0使用Web Part创建应用程序之二...