• WebService接口实际场景应用(一)


    背景:要求写一套接口测试工具。过程中遇到了WebService接口的问题,遂写下本篇文章。

    阶段问题1:

    需要利用数据驱动,然后读取excel中的数据并直接调用。但是webService接口与http接口不同。http接口调用是这样的:

    Request(method=’’,url=’’,param=’’)

    只需要传入对应的URl,参数就可以了。

    但是webservice接口调用是这样的:

    Client.service.函数(参数)这里的函数是我们可以写入的。 此时我们如果需要调用可以这样:

    eval(“client.service.{0}{1}”).format(method,data)

    下面问题就来了,这里的data,我们并不知道有几个参数。这个时候我想了一个办法:

    eval(“client.service.{0}{1}”).format(method,*data)

    Data传过来是一个list,那么我就将data这个list进行解包。但是这样好像行不通?

    因为格式化参数的时候我没有办法指定具体有一个参数,难道不用指定参数个数?用{}{}?这样也行不通。

    解决方法,反向思想:

    eval(“client.service.{0}(*{1})”).format(method,eval(data))

    解释一波:

    首先eval(data) ,这里会是这样的数据 [‘param1’,’param2’,’param3’]

    method假设是 MYMETHOD

    那么format之前是这样的

    eval(“client.service.{0}(*{1})”).format(MYMETHOD,[‘param1’,’param2’,’param3’])

    format 以后是这样的

    “client.service.MYMETHOD(*[‘param1’,’param2’,’param3’])”

    这样就会直接去调用我们的函数,并且将我们的list转换成我们需要的方法,也就是这样的:

    client.service.MYMETHOD(‘param1’,’param2’,’param3’)

    此问题终结。

  • 相关阅读:
    java并发
    jvm虚拟机
    L2Dwidget二次元前端添加人物插件
    MySQL数据库之rowid
    MySql支持emoji表情设置
    zookeeper不能正常启动问题(转)
    jd-gui-windows-1.6.6.zip反编译工具
    为什么es集群至少需要三个节点(转)
    超好用的uniapp弹出层
    netcore5.0 使用新的Microsoft.Data.SqlClient
  • 原文地址:https://www.cnblogs.com/bingoTest/p/11233311.html
Copyright © 2020-2023  润新知