即使前面的命令失败也要执行自定义命令

时间:2018-03-09 08:24:55

标签: javascript selenium testing automated-tests nightwatch.js

即使前面的命令失败,也会执行

end命令。例如。 browser.waitForElementIsVisible("non-existing-item", 500).end()

我需要编写一个自定义命令,该命令始终与end命令相同。如果我尝试browser.waitForElementIsVisible("non-existing-item", 500).saveVideo().end()browser.waitForElementIsVisible("non-existing-item", 500).saveVideoAndEnd(),则如果prev命令失败,则不会调用该命令。

有没有办法实现这个目标?

由于 托马斯

1 个答案:

答案 0 :(得分:0)

我认为这可能只是你编写自定义命令的方式。 .end()不是您的saveVideo()自定义命令所知道的函数,因此请执行此类操作。 (您不会在功能方面提供大量信息,但下面的内容应该根据需要进行一些调整)

let saveVideoAndEnd = require ('../saveVideo.js');
this.myTest = (browser) => {
  saveVideo(browser).end( /* Callback Function */ )
}

如果需要,可以在下方连接更多的夜间表功能。根据您的需求进行调整。

// saveVideo.js - or amend from module export to function declaration if same file
module.exports = (client) => {
  client
    .waitForElementIsVisible("non-existing-item", 500)
    .saveVideo() 
}

function saveVideo() {
  // fn: logic
}