【发布时间】:2019-09-12 17:24:15
【问题描述】:
我想使用 testcafe 来启动可通过内部终端外部浏览器提供商获得的浏览器。我不想要任何测试功能。但我希望能够使用 takeScreenshot、resizeWindow 等。
这是我的代码。
const pool = require("./node_modules/testcafe/lib/browser/provider/pool.js");
pool.getProvider("chrome").then((provider) => {
const plugin = provider.plugin;
console.log("open")
plugin.openBrowser("foo", "http://google.de", "chrome").then(() => {
console.log("done");
}).catch(console.warn);;
console.log("early");
}).catch(console.warn);
如果我使用此代码运行或调试文件,则打开的浏览器承诺永远不会得到解决。控制台打印open和early,然后程序退出。
如果我将代码复制并粘贴到交互式节点外壳中,浏览器就会启动。 (我得到一个异常 connection is null 但如果我启动文件,这段代码永远不会运行。
我做错了什么?
更新:这是使用 async/await 的代码,但也不起作用:
const pool = require("../node_modules/testcafe/lib/browser/provider/pool.js");
(async () => {
const provider = await pool.getProvider("chrome");
const plugin = provider.plugin;
await plugin.openBrowser("foo", "http://google.de", "chrome");
console.log("done");
})();
【问题讨论】:
标签: cross-browser automated-tests e2e-testing web-testing testcafe