我正在使用testcafe进行GUI测试。我在后台运行节点服务器,然后开始测试。当我使用testcafe API浏览GUI时,一切都很好,但是当我尝试调用更改db(在测试中为硬编码)的函数时,数据库根本不受影响。 这是我的代码:
fixture('Permissions')
.page('https://localhost');
test('go to permissions', async browser => {
await onlineFormsController.createOnlineFrom("OMRI",'NEWFORM',async ()=>{
await browser.click('#editUsersTree');
await browser.click('#loadDefaultTree');
await browser.wait(500);
await browser.pressKey('enter');
await browser.wait(500);
await browser.pressKey('enter');
await browser.click('#saveTree');
await browser.pressKey('enter');
await browser.navigateTo('https://localhost/Home');
await browser.wait(5000);
});
});
函数onlineFormsController.createOnlineFrom
应该在我的数据库中创建新表格,但是什么也没发生。它与testcafe
测试分开运行良好(使用mocha
进行了测试,并且效果很好),但是当我使用testcafe
运行测试时,就像这行被忽略或没有完全没有效果。
有什么想法导致此问题吗?
答案 0 :(得分:1)
TestCafe不应干扰MongoDB的工作。
我建议您执行以下操作:
createOnlineFrom
返回一个Promise
对象; createOnlineFrom
返回了一个Promise
对象,因此您可以采用一种更具可读性的方式来组织代码:test('go to permissions', async browser => { await onlineFormsController.createOnlineFrom("OMRI",'NEWFORM'); await browser.click('#editUsersTree'); });
如果这些建议没有帮助,请提供您的createOnlineFrom
函数的完整代码。