无需测试即可通过testcafe启动浏览器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无需测试即可通过testcafe启动浏览器相关的知识,希望对你有一定的参考价值。
我想使用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
然后程序退出。
如果我将代码复制并粘贴到交互式节点shell中,则浏览器将启动。 (我得到一个例外,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");
})();
答案
我们建议不要使用此内部API,因为它可以随时更改,恕不另行通知。您可以使用testcafe-browser-tools模块。
plugin.openBrowser
方法是异步的。因此,您需要等待方法执行的结果。有关更多详细信息,请参阅TestCafe的runBrowser
code。
以上是关于无需测试即可通过testcafe启动浏览器的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法将TestCafe指向“localhost”而不是机器IP?