目的:

  和普通性能自动化测试工具相似,创建给定数量的请求代理,对链接列表中的链接不断发送请求,并收集请求时间和其他响应信息,终返回结果数据。

  事实上,由于开源测试项目pylot的思路和这个项目有些相似,大部分示例代码使用pylot源码,一些会有稍微改动。

  设计思路:

  如设计图所示,总体上分为5个主要部分:

  1、Test.xml处理部分:

  通过用户的制作的testcase.xml文件,获取总体的属性值作为参数,并读取所有test case所包含的信息,获取所有测试连接列表和其他配置数据,testcase.xml的格式如下,这个testcase.xml可以专门写一个xml写作的工具,供QA人员以界面方式进行编写,提高效率并减小错误率:

 <testcases>
 
 <project>
         <name>Test</name>
         <description>Only Test</description>
         <executor>zhangyi</executor>
         <!-- 如果需要结果进入数据库,配置下面数据库链接参数 ->
         <DB
 <host></host>
 <port></port>
 <user></user>
 <pwd></pwd>
 <db></db>
 <debug>true</debug>
 </DB>
 <type>Example</type>
         </project>
 <property>
 <old_version></old_verstion>
 <old_version></old_verstion>
 <wel_url>r'http://www.baidu.cn/'</wel_url>
 </property>
 <!-- run before all testcase -->
 <beforesetup>
 </beforesetup>
 <!-- run after all testcase -->
 <afterteardown>
 </afterteardown> 
 <!-- run before each testcase. if fail, not continue run testcase-->
 <setup>
 </setup>
 <!-- run after each testcase. ignore testcase fail.  -->
 <teardown>
 </teardown>
     <!-- SAMPLE TEST CASE -->
     <case repeat=3>
         <url>http://www.example.com</url>
     </case>
     <case repeat=3>
         <url>http://search.yahooapis.com/WebSearchService/V1/webSearch</url>
         <method>POST</method>
         <body><![CDATA[appid=YahooDemo&query=pylot]]></body>
         <add_header>Content-type: application/x-www-form-urlencoded</add_header>
     </case>
     <case repeat=2>
         <url>http://search.yahooapis.com/WebSearchService/V1/webSearch</url>
         <method>POST</method>
         <body><![CDATA[appid=YahooDemo&query=pylot]]></body>
         <add_header>Content-type: application/x-www-form-urlencoded</add_header>
     </case repeat=3>
     <case>
         <url>http://search.yahooapis.com/WebSearchService/V1/webSearch</url>
         <method>POST</method>
         <body><![CDATA[appid=YahooDemo&query=pylot]]></body>
         <add_header>Content-type: application/x-www-form-urlencoded</add_header>
     </case>
     <case>
         <url>http://www.example.com</url>
     </case>
     <case repeat=10>
         <url>http://www.example.com</url>
     </case>
     <!-- SAMPLE TEST CASE -->
     <!--
     <case>
         <url>http://search.yahooapis.com/WebSearchService/V1/webSearch</url>
         <method>POST</method>
         <body><![CDATA[appid=YahooDemo&query=pylot]]></body>
         <add_header>Content-type: application/x-www-form-urlencoded</add_header>
     </case>
     -->
 </testcases>