电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

微服务接口测试—高效动态传参

来源:金蝶云社区作者:金蝶2024-09-235

微服务接口测试—高效动态传参



你是否也和两位测试同学一样,每次测试微服务接口,都要修改脚本,而且还容易将脚本改错?不用担心,小编为大家找来测试大佬,用两种最简单的方法为大家答疑解惑~




1 方法一:页面直接获取

以流程服务云微服务接口:inProcess public static boolean inProcess(String businessKey)为例。


参数明细表


操作过程中,需将参数和返回值都放到表单页面上。


实现步骤

第一步,在表单页面加入两个文本框,标识分别是businesskeyresponse;同时新增一个按钮,标识为inProcess


参数及返回值设置示例


第二步,通过3个操作读取脚本中的页面参数。


1)从页面获取businesskey的值,实现代码如下所示:


var businessKey = this.getModel().getValue('businesskey');


2)执行微服务,实现代码如下所示:


var ret = WorkflowServiceHelper.inProcess(businessKey);


3)把返回值放到response中,实现代码如下所示:


1this.getModel().setValue('response',ret);


完整操作脚本如下所示:


require("kd.bos.servicehelper.workflow.WorkflowServiceHelper");
var plugin = new FormPlugin({
    registerListener : function(e){
        this.addClickListeners("kdtest_inprocess")
    },
    click : function(e){
        var key = e.getSource().getKey();
        var businessKey = this.getModel().getValue('businesskey');  
        if (key == 'kdtest_inprocess') {
                var ret = WorkflowServiceHelper.inProcess(businessKey);
                this.getModel().setValue('response',ret);
        }   
    },
});


第三步,点击“预览”按钮进行表单预览,输入businesskey的值,点击“inProcess”按钮,返回值将显示在response中。


预览按钮示例

返回效果示例


2 方法二:页面+查询数据库

部分微服务接口有很多参数,如果一条条地写到页面上会十分繁琐。这时我们可以通过传入一个简单的参数去查询数据库,从数据库获得对应的一系列参数。


以流程服务云微服务接口:getProcessWindowRecords public static List<map> getProcessWindowRecords(Long procdefId, DynamicObject billObj)为例。


参数明细表


操作过程中,DynamicObject billObj需要调用loadSingle()方法,传入businesskey和entityNumber中获取参数。那么,getProcessWindowRecords接口最终需要的参数就是procDefId、businesskey和entityNumber。


通过查询wf_task,可以找到这三个数据。接下来,只需要在表单上输入billno,对wf_task进行查询,则可以直接获取这三个参数。


查询wf_task示例


实现步骤

第一步,在表单页面加入文本框,标识为billno;同时增加按钮,标识为getprocesswindowrecords


第二步,通过2个操作获取参数。


1)查询数据库:在wf_task中通过对billno进行查询,得到businesskey、processdefinitionid和entitynumber,实现代码如下:


 var billno = this.getModel().getValue('billno');
        var resource = QueryServiceHelper.queryOne("wf_task",'businesskey,processdefinitionid,entitynumber',[new QFilter('billno','=',billno)]);
        var businesskey = resource.getString('businesskey');
        var procdefid = resource.getString('processdefinitionid');
        var entitynumber = resource.getString('entitynumber');


2)获取参数billObj:调用loadSingle()方法,实现代码如下:


var obj = BusinessDataServiceHelper.loadSingle(toLong(businesskey),entitynumber);


完整代码如下:


 

require("kd.bos.servicehelper.workflow.WorkflowServiceHelper");
 require("kd.bos.servicehelper.devpor

微服务接口测试—高效动态传参

你是否也和两位测试同学一样,每次测试微服务接口,都要修改脚本,而且还容易将脚本改错?不用担心,小编为大家找来测试大佬,用两种最简单...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信