所以-我可以从笔记本电脑执行以下操作:
testcafe“saucelabs:[email protected]:Windows 10” tests / settings / users.js

这将连接到SauceLabs,以启动测试(或多种测试,以任何一种方式工作),以反击我们的开发服务器。 (IP已列入白名单,所有方法都可以使用)。

我当然也可以登录酱汁实验室,打开“实时测试”浏览器并连接到此环境/登录等。

因此,“SauceLabs =->我的环境”很好。

如果我尝试在circleci上运行构建以完成此操作,则它将失败。

在我的角色中,我有以下代码:

const getPageHTML = ClientFunction(() => document.documentElement.outerHTML);
let value = await getPageHTML();
console.log(value);
const pageLink = ClientFunction (() => window.location.href);
value = await pageLink();
console.log(value);

这将打印出整个outerHTML仅
<html><head></head><body></body></html>

它将打印出当前URL为“about:blank”

所以,我的问题..在运行测试时,使用ucelabs从“圆”开始,我是否需要将“圆”列入白名单?

当我们使用saucelabs浏览器时,我似乎无法弄清楚在笔记本电脑和圈子中进行测试之间的功能/执行差异。

此时是“正在运行测试的IP”(白名单ip)circleCI还是saucelabs?我当然一直以为是平底锅。

注意:实际上,我只能够通过testcafe“example.js”测试,并使其使用circle / saucelabs运行。因此,从字面上看,这与将测试重新运行回我的环境有关。我想详细了解如果Circle使用“saucelab浏览器”运行测试,则“源IP范围”将是什么。

任何建议将不胜感激!

(只是很难弄清楚如何调试/分类问题)

最佳答案

为了让SauceLabs行使在CircleCI容器中运行的应用程序,您将需要使用Sauce's Connect Tunnel,因为在CircleCI容器中运行的服务无法通过互联网访问。

CircleCI和SauceLabs合作创建了an "orb" that simplifies the setup of a tunnel。我不熟悉TestCafe,但是它应该可以解决连接问题。

您可以在CircleCI此处看到https://github.com/eddiewebb/demo-blueskygreenbuilds/blob/master/.circleci/config.yml#L17的SauceLabs示例(尽管使用Maven / Java),但基本上

  - saucelabs/with_proxy:
      name: "Chrome Tests"
      requires:
        - "Unit Test"
      tunnel_identifier: chrome
      steps:
        - maven/with_cache:
            steps:
              - run: ./mvnw verify -B -Dspring.profiles.active=it -Dsauce.tunnel="chrome"

关于circleci - TestCafe,CircleCI 2.0和SauceLabs —无法使此组合正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53653378/

10-16 08:29