我对ERLANG和TSung非常陌生,我从来没有在这个领域工作过,但我非常渴望了解基础知识,并为我的web应用程序进行分布式负载测试。我在半路上完成,但我有一个很大的障碍,不能前进,请阅读下面的tsung.xml文件,并告诉我在哪里和我错过了什么?
**===> tsung.xml (this file perfectly working without any errors)**
*<?xml version="1.0"?>
<!DOCTYPE tsung SYSTEM "/usr/share/tsung/tsung-1.0.dtd">
<tsung loglevel = "debug" dumptraffic="true" version="1.0">
<clients>
<client host="localhost" weight ="1" maxusers="40000" cpu = "1" >
<ip value = '127.000.000.111'/>
</client>
</clients>
<servers>
<server host="127.000.000.112" port="80" type="tcp"></server>
</servers>
<load duration="1" unit="minute">
<arrivalphase phase="1" duration="1" unit="minute">
<users arrivalrate="10" unit="second"></users>
</arrivalphase>
</load>
<sessions>
<session name="mySession" probability="100" type="ts_http">
<transaction name="trx">
<request>
<dyn_variable name="myId" re="<myId>(\.*)\</myId>"/> <-- Trying with RegExp option, not getting the value myId
<!--dyn_variable name="myId" xpath="//response/myId" /--> <-- Trying with xpath option, not getting the value myId
<!--dyn_variable name="myId" jsonpath="response.myId" /--> <-- Trying with jsonpath option, not getting the value myId
<http url='http://127.000.000.112/Create_Rec' method='POST' version='1.1' content_type='text/xml'/>
</request>
<request subst="true">
<http url='http://999.000.000.999/Get_Rec/myId=%%_myId%%' method='GET' version='1.1' content_type='application/xml'/>
</request>
</transaction>
</session>
</sessions>
</tsung>*当我在web浏览器中运行这个url (它是web服务调用) "http://_127.000.000.112/Create_Rec“时,我从服务器得到了以下类似的响应(在后台,它在数据库中创建记录并生成新的id,即myId)。当我在tsung.xml上运行时,第一个请求完全符合我的预期。
===>响应(浏览器响应)
<response id="SomeWebService">
<status>
<statusCode>1</statusCode>
<statusMsg>SomeMessage</statusMsg>
<statusTime>2013-06-20 02:52:25</statusTime>
</status>
<myId>298346728934734987</myId>
</response>我在这里看到的是,我需要从第一个请求中抓取myId并传递到第二个请求myId=%%_myId%%中,但它永远不会工作,myId总是空字符串。两天来,我对dyn_variable一无所知,没有关于它的线索和适当的示例/文档。请建议我,我错过了什么。
发布于 2013-06-22 00:09:11
您必须在您的请求中将subst=设置为“true”,以使替换生效。因此,您的请求应更改为..
<request subst="true">如果仍然不起作用,我建议您查看tsung.dump文件并检查从服务器获得的响应
https://stackoverflow.com/questions/17230564
复制相似问题