在使用 Intern 运行浏览器测试之前,如何在 Node 中运行一些代码?

德斯塔利

使用 Intern,如何在运行浏览器测试之前在 Node 中运行一些设置代码,但在运行 Node 测试时运行?我知道我可以在 Intern 之外完全做到这一点,但是有什么是 Intern 的一部分可以处理的吗?

对于更具体的示例:我正在为与 Python 服务器通信的 HTTP 库运行测试。在 Node 中运行时,我可以运行spawn("python", ["app.py"])以启动服务器。但是,在浏览器中,我需要在浏览器开始运行测试之前运行该命令。

换一种说法:在启动浏览器测试之前,是否有 Intern 的内置方式在 Node 进程中运行一些代码?

德斯塔利

默认情况下,node无论您在哪个环境中运行,实习生都会运行配置的插件

所以,你可以创建一个插件来挂接到这样的runStartrunEnd事件:

intern.on("runStart", () => {
  console.log("Starting...");
  // Setup code here
});

intern.on("runEnd", () => {
  console.log("Ending...");
  // Teardown code here
});

这些处理程序将在 Node 进程内运行,因此可以访问所有可用的 Node API。

此外,您可以通过查看以下内容来检测正在测试哪些环境intern.config.environments

{
  environments: [
    {
      browserName: 'chrome',
      browserVersion: undefined,
      version: undefined
    }
  ]
}

通过查看环境,您可以确定是否需要运行设置代码。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在每个JUnit @Test方法之前分别运行一些代码,而不使用@RunWith或AOP?

如何在浏览器中运行Java applet(使用CMD)

如何使用无头浏览器运行测试?

如何使用Node JS在浏览器中创建Cookie

如何在浏览器上运行node.js客户端

您如何在浏览器中运行Jasmine测试?

如何让node.js和Mocha在浏览器中运行(测试)?

如何在真实的浏览器中运行ScalaJs测试?

是否可以使用Chrome扩展程序在浏览器上运行Node.js模块

从node.js应用程序中运行一些node.js Web服务器

如何在边缘铬浏览器上使用水豚运行硒Webdriver测试?

如何使用空手道中的浏览器缓存在Chrome中运行测试方案?

如何在Chrome浏览器中运行硒测试?

如何为浏览器性能运行Node API测试

如何在不同的浏览器中使用LiveServerTestCase运行硒测试?

想要在菜单显示之前使用ui-router在AngularJS中运行一些初始化代码

如何在浏览器而不是命令行中运行Node.js代码

如何在不使用junit关闭浏览器的情况下运行所有硒测试

如何在不使用php exec的情况下通过浏览器运行代码接收

我将如何在浏览器中测试我的 node.js 代码?

如何使用 node.js 将一些数据直接附加到文件中?

如何在浏览器上运行 node.js 项目?

如何使用插件在 Chrome 浏览器中运行 apk?

如何在显示页面之前运行一些代码

无法使用 Dusk 运行 Laravel 浏览器测试

触发特定按钮并使用 Prestashop 运行一些代码

量角器 - 如何在角度加载之前在浏览器中运行代码

如何在页面加载之前使用 NODE 更改一些 HTML?

在列表中渲染之前运行一些 javascript 代码