我有一个基于 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/