所以-我可以从笔记本电脑执行以下操作:
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/