首页 > 解决方案 > 从子进程获得响应并断言它

问题描述

我正在尝试从 cucumberjs 执行我的 SOAPUI 调用。我创建了一个 .bat 文件并从子进程运行。我在这里遇到的问题是,它执行但我在控制台(cmd)中看不到它的输出。另外,我必须获得响应状态并断言它。

这是我正在做的事情:

my page::

var apipage = function(){
    this.testapi = function(callback){
    console.log("..executing..");

     var spawn = require('child_process').spawn,
      ls = spawn('cmd.exe', ['/c', 'my.bat']);

    ls.stdout.on('data', function (data) {
      console.log('stdout: ' + data);
    });

    ls.stderr.on('data', function (data) {
      console.log('stderr: ' + data);
    });

    ls.on('exit', function (code) {
      console.log('child process exited with code ' + code);
    });

module.exports = new apipage();

=================================================

spec file::

Then('rest must be executed' , function(callback){
apipage.testapi();
callback();
});

=============================================

output:

..executing..

1scenario(passed)
2 steps(passed)

=========================

我想捕获响应状态并断言它。有人可以帮我解决这个问题吗?当我作为节点程序运行时,代码工作正常。

标签: soapuicucumberjs

解决方案


推荐阅读