docker - 如何在 DevOps 部署中使用 TestCafe-Cucumber Node.js 项目

标签 docker express cucumber devops testcafe

我有一个基于 TestCafe-Cucumber (Node.js) 示例的测试框架在本地 (& git) 上运行:https://github.com/rquellh/testcafe-cucumber并且效果非常好。

现在,我正尝试通过将其托管为服务或创建 docker 容器,在部署(部署后)周期中使用该框架。

框架通过带有少量参数的 CLI 命令 (npm test) 执行。

我知道最简单的方法是在需要时通过添加 Jenkins 步骤直接调用 git 存储库,但这不是我正在寻找的解决方案。

到目前为止,我已经成功构建了 docker 镜像和容器,现在它以 http://0.0.0.0:8085 的形式在我的本地主机 8085 端口上运行。 (虽然我得到了 DNS 服务器,因为它不是应用程序 - 如果我在这里错了请纠正我)

这里的问题是:我怎样才能让它像托管的应用程序一样工作,以便一旦部署完成,Jenkins/Octopus 就可以通过 URL ( http://0.0.0.0:8085 ) 以及框架提供的几个参数将其作为服务调用用于执行测试用例?

有解决办法请各位高手给出。

最佳答案

我想没有生产就绪的应用程序或服务来解决这个任务。

但是,您可以使用 REST 框架来处理网络请求和子进程以启动测试 session 。如果你喜欢 Node.js,你可以从 Express 开始框架和 execa模块。

这样您就可以构建一个可以开始测试的基本服务。如果您需要更灵活的解决方案,可以查看gherkin-testcafe提供对 TestCafe's API 的访问.您可以使用它而不是将 TestCafe 作为子进程启动,因为这样您将有更多选项来管理您的测试 session 。

关于docker - 如何在 DevOps 部署中使用 TestCafe-Cucumber Node.js 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59043361/

相关文章:

WordPress 项目设置 - Trellis、Valet 还是 Docker?

javascript - 如何知道查询中缺少哪些参数?

javascript - 如何使用对象 ID 数组创建 Mongoose 模式?

testing - 我可以在 cucumber 的例子中有数据表吗?

linux - 如何对 Linux 上的 PostgreSQL Docker 设置进行故障排除

docker - 如何获取所有 Travis CI 环境变量,不包括系统默认值?

node.js - React 服务器未启动 - 与 renderProps 有关

android - Calabash android - HTTPClient::KeepAliveDisconnected

ruby - cucumber + capybara 文件上传对我不起作用

Django、Postgres、Docker - 无法在 ubuntu 14.04 python 2.7.11 上的数据库上运行迁移