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’)
此问题终结。
WebService接口实际场景应用(一)的更多相关文章
- 如何高效的进行WebService接口性能测试
版权声明:本文为原创文章,转载请先联系并标明出处 关于接口测试的理解,主要有两类,一类是模块与模块间的调用,此类接口测试应该归属于单元测试的范畴,主要测试模块与模块之间联动调用与返回.此类测试大多关注 ...
- Loadrunner Webservice接口性能测试脚本编写优化总结
本文主要介绍使用Loadrunner Webservice接口性能测试脚本编写及优化总结. 1.Webservice协议脚本编写流程 下面介绍使用Loadrunner 11调用Webservice接口 ...
- jmeter3.2版本如何进行webservice接口功能测试
jmeter3.2版本之后就没有SOAP/XML-RPC Request插件了,所以没办法直接进行webservice接口的测试. 原理上: Web service一般就是用SOAP协议通过HTTP来 ...
- python开发笔记-python调用webservice接口
环境描述: 操作系统版本: root@9deba54adab7:/# uname -a Linux 9deba54adab7 --generic #-Ubuntu SMP Thu Dec :: UTC ...
- java调用CXF WebService接口的两种方式
通过http://localhost:7002/card/services/HelloWorld?wsdl访问到xml如下,说明接口写对了. 2.静态调用 // 创建WebService客户端代理工厂 ...
- 从xfire谈WebService接口化编程
前段时间有博友在看我的博文<WebService入门案例>后,发邮件问我关于WebService 接口在java中的开发,以及在实际生产环境中的应用.想想自己入职也有一段时间了,似乎也该总 ...
- java获取https网站证书,附带调用https:webservice接口
一.java 获取https网站证书: 1.创建一个java工程,新建InstallCert类,将以下代码复制进去 package com; import java.io.BufferedReader ...
- php中调用WebService接口
一.背景 调用第三方短信提供商的WebService接口. 二.介绍 1.WebService三要素: SOAP(Simple Object Access Protocol) 用来描述传递信息的格式 ...
- cxf设置代理访问webservice接口
由于业务上的需要,需要访问第三方提供的webservice接口,但由于公司做了对外访问的限制,不设置代理是不能外网的,如果使用http设置代理访问外网还是比较容易的,但使用cxf有点不知道从哪里入手. ...
- 通过iTop Webservice接口丰富OQL的功能
通过Python调用iTop的Webservice接口: #!/usr/bin/env python #coding: utf-8 import requests import json itopur ...
随机推荐
- HCIA-基础实验FIN-综合网络部署考核
HCIA-基础实验FIN-综合网络部署考核 虽然我选择通过自学hcia并跳过hcia培训直接学习hcip, 但是这个基础实验课程的考核总归还是处理掉比较好, 趁现在能挤出时间(笑). 1 实验需求 1 ...
- 为win10添加右键“以管理员身份运行MSI”选项
win+r运行regedit以打开注册表编辑器 定位到HKEY_CLASSES_ROOT\Msi.Package\shell 右键shell,新建 项 项名称为runas 双击runas右边的默认,填 ...
- 直播带货源码,flutter 顶部滚动栏+页面
直播带货源码,flutter 顶部滚动栏+页面 tabPage.dart import 'package:flutter/cupertino.dart';import 'package:flutter ...
- EXE项目和DLL项目远程调试、Props设置说明
通用宏设置 exe项目根据平台.配置设置输出路径: dll项目根据平台.配置设置输出路径,dll文件.lib文件分别输出到自己的路径: 中间文件根据平台.配置.项目设置输出路径: 设置远程调试命令.远 ...
- MyBatis(Plus) 打印SQL, 分析执行时间
MyBatis/MyBatis Plus打印的SQL调试起来比较麻烦 当然IDEA/eclipse都有类似mybatis log plugin这种插件来解析, 但是安装插件有些许弊端, 就写了个工具类 ...
- Nginx基础篇
目录 一.nginx基础篇 1.Nginx开源版本安装 2.Nginx的基础配置 3.虚拟主机与域名解析 4.ServerName匹配规则 5.反向代理 6.动静分离 7.location后符号的匹配 ...
- 关闭Windows form窗体
原文https://www.cnblogs.com/HappyEDay/p/5713707.html 在c#中退出WinForm程序包括有很多方法 this.Close(); Application ...
- 关于前端:解决elementUI的对话框Dialog组件点击自动跳转到页面顶部问题
查看文档寻找解决办法 增加这两个参数即可完满解决 <el-dialog :lock-scroll="false" :append-to-body="true&quo ...
- 5. icon创建
1 <!DOCTYPE html> 2 <html lang="zh"> 3 <head> 4 <meta charset="U ...
- SpringBoot多数据源详细配置与使用(包含数据源和事务配置)
SpringBoot项目数据库配置文件中配置多个数据源: #********* primary jdbc ************************** spring.datasource.dr ...