1

假设我有一个 Java 程序,用于设置和清理端到端测试的数据。它可以从所有表中删除所有内容,用一些初始数据填充它们,诸如此类。

有没有办法从量角器中执行它?

我对从规范(例如 inbeforeEachafterEach)中直接执行此操作的方法以及让 Protractor 在测试之间执行此操作都感兴趣。

4

1 回答 1

1

由于 Protractor 是一个 NodeJS 应用程序,您可以使用 NodeJS API。

我有类似的需求,我使用 Node 的child_process模块的 exec 方法执行了 Maven/Java。问题在于性能,因为它需要在每次调用 exec 时启动一个新的 JVM 实例。

它并不理想,但它可以完成工作......

var deferred = Q.defer();
try {
    var child = process.exec('mvn verify',
        function (error, stdout, stderr) {
            console.log('stdout: ' + stdout);
            console.log('stderr: ' + stderr);
            if (error !== null) {
                console.error('exec error: ' + error);
                deferred.reject();
            }
            else {
                deferred.resolve();
            }
        });
} catch (err) {
    console.error('Caught ' + err);
}
return deferred.promise;

您可以探索node-java项目。

于 2014-01-02T15:20:54.063 回答