gpt4 book ai didi

angular - 带 Headless Chrome 的 Protractor 无法在 AWS CodeBuild 上运行,但可以在本地运行

转载 作者:行者123 更新时间:2023-12-03 10:06:22 25 4
gpt4 key购买 nike

我有一个网页,在进入 Angular 网页之前需要 Google 身份验证,并且我已经构建了一些非常基本的端到端测试,这些测试在带有 Chrome Headless 的 Linux 中就像一个魅力:

  • 查找用户名字段
  • 输入正确的电子邮件地址,然后单击下一步
  • 输入密码登录
  • 一旦它通过谷歌认证,它就会验证页面的标题是“费用”

  • 这是我在终端中得到的最后一条消息:在 46 秒内执行了 3 个规范中的 3 个 SUCCESS。

    AWS CodeBuild ,不过,我们还使用 Linux (Ubuntu) 容器,但失败 单次。
    这是第一个错误:
    ...
    Jasmine 开始
  • 查找用户名字段
  • 输入正确的测试电子邮件
    地址

  • 已识别 0 h1 标签
    费用应用 E2E 初始测试套件
    费用的索引页面应该可以正常工作
  • [31m✗应正确登录测试用户·[39m
  • [31m- ·[39m·[31m失败:使用定位器找不到元素 : By(css selector, *[id="identifierId"])
  • [39m at elementArrayFinder.getWebElements.then (/codebuild/output/src609592849/src/node_modules/protractor/built/element.js:814:27)

  • 这是 protractor.conf.js 中的设置信息:
    capabilities: {
    'browserName': 'chrome',
    chromeOptions: {
    args: ["--headless", "--disable-dev-shm-usage", "--no-sandbox", "--disable-gpu", "--window-size=1280x960"]
    }
    },
    directConnect: true, // Test scripts communicate directly with Chrome Driver, so they start up and run faster

    从 package.json,我使用:
    "e2e": "ng e2e --port 4200",

    从 buildspec-test.yml,我有以下 post_build 命令:
    - npm 运行 e2e

    为什么 Chrome Headless 会在 http://localhost:4200 上找到我的网页我的本地 Linux 问题没有问题,但是当它们都运行 Ubuntu Linux 时无法在 AWS CodeBuild 中找到它?
    本地版本:Ubuntu 18.04.1 LTS
    AWS CodeBuild 版本:Ubuntu Ubuntu 14.04.5 LTS(可信赖)

    请让我知道,并提前致谢!

    真挚地,

    私服

    最佳答案

    是的,我确实有这个答案。一位 friend 和同事(感谢 Bill T.)能够使用 Ubuntu 18.04LTS 创建一个 Docker 容器,并让我在 AWS CodeBuild 中运行它,它工作过 .这证明了这个问题:
    您不能使用 headless Chrome Ubuntu 14.04.5 长期服务。从 Ubuntu 18.04 LTS 开始。

    关于angular - 带 Headless Chrome 的 Protractor 无法在 AWS CodeBuild 上运行,但可以在本地运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53623114/

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