终身学习 终身修行 终身利他

无常的变化:尽快对SOAP接口进行性能测试

上一篇 / 下一篇  2019-08-07 15:41:11 / 个人分类:工作感悟


    工作中就是各种各样的无常,测试工具的工作刚刚接手,又临时紧急插播一个接口的性能测试任务。也挺好,工作就是在无限的变化和挑战中不断的磨炼我们。
   
   不仅是磨炼我们的技术,也磨炼我们的耐力和灵活的变通性。来吧,都不是问题。如果抓住了工作的关键就一定能很快解决问题。

    一起先来确认待测试的接口是什么?还好就几个接口,工作量不是很大,但类型不是我们常见的restful类型的,而是SOAP类型的。这类的接口以前做接口测试时接触过,倒没有什么大问题。关键是Locust能否支持这类协议接口的性能测试,这个问题不是非常确定。

    没关系,有了新问题的产生,才能全面提升我们的能力。先赶紧做个试验试试看。

   Locust性能测试的原理是比较清楚的,这种情况下只需要去验证一下,它能否支持SOAP协议的接口就可以了。所以搞清楚每个技术的根本原理,可以让我们的工作效能大大提升。总结了两张图,可以说明Locust的基本工作原理。



     有了前面这些工作的铺垫,技术试验就可以快速开展起来,先用一组常量数据进行接口测试性能脚本的调试。发现行不通,代码片段如下:

class test_soap():
    #定义url为属性
    def __init__(self):
        self.url="http://XXXX/odeWS.asmx?wsdl"
# #发送请求
    def test_mob(self):
        client=Client(self.url)
        print(client)
        #进行SOAP接口测试
        res=client.service.getMobileCodeInfo("1891XXXX9")
        print(res)
        #结果比对
        result=str(res)
        ......
  
    最后确认这一类SOAP协议的接口在Locust中不支持service对象。所以只能以request对象去封装进行接口的访问才可以被Locust识别。那赶紧继续试验确认一下,发现SOAP类型接口的访问用request对象去访问虽然麻烦一些,也是可以实现的。代码片段如下:

#定义接口访问地址
url="http://XXX/odeWS.asmx?wsdl"
#获取接口的头说明,不能省略
headers = {"Content-Type":"application/soap+xml; charset=utf-8"}
#获取接口相关xml格式的参数
data = ''' <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:web="http://WebXml.com.cn/">
   <soap:Header/>
   <soap:Body>
      <web:getMobileCodeInfo>
         <!--Optional:-->
         <web:mobileCode>1891XXXXX</web:mobileCode>
         <!--Optional:-->
         <web:userID> </web:userID>
      </web:getMobileCodeInfo>
   </soap:Body>
</soap:Envelope> '''

#发送接口请求
response = requests.post(url, data=data, headers=headers)

终于可以了,把这段接口访问代码植入到Locust性能测试框架中就可以了。终于问题解决了......

如果大家想索取详细资料,可以加微信号:wq-51testing

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

shanglikathe

shanglikathe

51testing首席资深讲师-商莉 10年开发、测试及管理工作经验,12年测试教学经验。长期致力于研究和分析学习模式与工作模式如何紧密结合,为了让技术更有利于个人和公司的发展需求,不断的进行课程的调研和改革,提出“技术的学习要与职业素养和公司诉求紧密结合”的培养理念,为测试行业培养更多全面优秀的人才而不遗余力。

日历

« 2019-08-21  
    123
45678910
11121314151617
18192021222324
25262728293031

数据统计

  • 访问量: 13994
  • 日志数: 21
  • 建立时间: 2007-05-21
  • 更新时间: 2019-08-07

RSS订阅

Open Toolbar