gpt4 book ai didi

docker - 如何在 docker 上运行 Protractor ?

转载 作者:行者123 更新时间:2023-12-02 19:38:05 25 4
gpt4 key购买 nike

我是 docker 和 Protractor 的新手,所以请多多包涵。

我有一个应用程序,它的后端 API 使用 python 和 django,前端使用 angular.js,使用 Protractor 进行 e2e 测试。所以这就是我认为我应该继续的方式:

  • 我必须为我的 设置一个 docker 容器后台在 Python-Django 中,然后通过一些 PORT 公开这个 API。
  • 为 angular.js 创建另一个容器(或不确定的层)前端 .
  • 下载 Protractor 的图像并构建容器。
  • 通过 docker 网络连接所有这些容器层?

  • 选择
  • 在本地机器上运行后端。
  • 为 Protractor 创建docker容器并以某种方式将e2e测试指向容器?

  • 请帮助我查看实现此目的的步骤。 This video提供一些见解,但不知道从哪里开始。

    最佳答案

    你最初的想法是正确的。设置时,我通常使用像这样的 docker-compose 文件......

    #docker-compose.yml
    version: '2'

    services:
    backend:
    build: ./backend
    command: <your django startup command>
    db:
    image: <postgres or whatever>
    frontend:
    build: ./frontend
    command: <npm start or equivalent>
    ports:
    - "80:80"

    然后,我会运行我的测试
    docker-compose run --rm frontend <MY TESTING COMMAND HERE>

    Docker-compose 为你处理 docker 网络的东西——在这种情况下,你的前端可以通过 http://backend 访问你的后端。 :. Protractor 和 npm 以及所有有趣的东西都安装在您的前端容器中。

    你还没有想到的一个主要痛点是 Protractor 需要一个显示器才能工作——它不能与像 phantomjs 这样的 headless 浏览器一起工作,而你的 docker 容器通常不会提供这种浏览器。这个 repo 是一个如何安装真实浏览器并为其提供假显示以便它可以在容器中工作的示例... https://github.com/mark-adams/docker-chromium-xvfb ,基本上用启动xvfb界面并将浏览器附加到它的shell脚本替换chrome启动脚本。

    关于docker - 如何在 docker 上运行 Protractor ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42146388/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com