我如何等待一些文本而不停止测试的执行?

时间:2018-07-25 07:54:47

标签: vue.js webdriver-io end-to-end codeceptjs

我正在使用 CodeceptJS WebdriverIO 帮助器进行一些端到端测试,我想在Vue.js SPA中等待一条错误消息。 我想知道是否有一种方法可以在测试运行期间异步等待文本。我不想使用wait(),因为这会增加测试的持续时间,相反,我希望这样做,例如,在测试的运行期间,如果看到一些“错误”文本,它将使测试失败。 与dontSee()函数类似,但在测试的背景下,我无法很好地解释它。

2 个答案:

答案 0 :(得分:1)

例如,验证错误没有立即出现,因此如果我在页面中看到该标签,则需要等待。我不想停止测试十秒钟,我只是想要像“ Watcher”之类的标签持续几秒钟。

I.click('#btnSave');
//I.wait(10);
I.dontSee('Error validate');
I.waitForText('Save successful', 5);

waitForText()非常适合相反的需求。没有像waitForTextToFail()这样的函数。

答案 1 :(得分:1)

我不确定我是否完全理解您的问题,但是我认为您可能正在寻找类似以下的内容:http://webdriver.io/api/utility/waitForVisible.html

您会注意到它有一个名为reverse的参数,您可以使用它进行相反的声明。

它可能看起来像这样:browser.waitForVisible('#elem', 3000, true);

reverse标志也适用于waitForText方法。