Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/testing/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Testing TestCafe、CircleCI 2.0和;SauceLabs——can';我不能让这个组合起作用_Testing_Circleci_Testcafe_Saucelabs_Circleci 2.0 - Fatal编程技术网

Testing TestCafe、CircleCI 2.0和;SauceLabs——can';我不能让这个组合起作用

Testing TestCafe、CircleCI 2.0和;SauceLabs——can';我不能让这个组合起作用,testing,circleci,testcafe,saucelabs,circleci-2.0,Testing,Circleci,Testcafe,Saucelabs,Circleci 2.0,因此,我可以从笔记本电脑上执行以下操作: testcafe“saucelabs:Chrome@70.0:Windows 10“测试/设置/users.js 这将连接到SauceLabs,启动测试(或多个测试,无论哪种方式都可以),以反击我们的开发服务器。(IP已被列入白名单,一切正常) 当然,我也可以登录到sauce实验室,打开“实时测试”浏览器并连接到该环境/登录等 因此,“SauceLabs=->我的环境”很好 如果我试图在circleci上运行一个构建来实现这一点,它将失败 在我的角色中,

因此,我可以从笔记本电脑上执行以下操作: testcafe“saucelabs:Chrome@70.0:Windows 10“测试/设置/users.js

这将连接到SauceLabs,启动测试(或多个测试,无论哪种方式都可以),以反击我们的开发服务器。(IP已被列入白名单,一切正常)

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

因此,“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为“关于:空白”

那么,我的问题。。当运行测试时,使用来自CIRCLE的saucelabs,我是否需要将CIRCLE列为白名单

当我们使用saucelabs浏览器时,我似乎不知道从我的笔记本电脑运行测试和从circle运行测试之间的功能/执行差异是什么

此时“运行测试的IP”(白名单IP)是circleCI还是saucelabs?一、 当然,我一直认为这是索塞拉布

注意:实际上我只需要使用testcafe“example.js”测试,并使用circle/saucelabs运行它。因此,这实际上与在我的环境中运行测试有关。如果circle正在“使用”saucelab浏览器运行测试,我想了解更多关于“源ip范围”的信息

任何建议都将不胜感激


(只是很难找出如何调试/分类问题)

对于SauceLabs来说,要运行在CircleCI容器中的应用程序,您需要使用,因为在CircleCI容器中运行的服务无法通过internet访问

CircleCI和SauceLabs合作创建。我不熟悉TestCafe,但它应该可以解决连接问题

您可以在CircleCI中看到一个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" 

正如@Eddie在回答中提到的,您需要使用Sauce的连接隧道来连接CircleCI

测试站点受代理设置保护,SauceLabs被列入白名单。解决方案是将CircleCI添加到您公司的白名单中


SauceLab浏览器===隧道(ok)==>Testcafe代理服务器(CircleCI)====防火墙(失败)==>您机器上的站点

因此,“应用程序”没有循环运行。。circle拥有的所有代码都是javascript测试代码(testcafe代码)。我想测试的实际网站是https://@RogerStudner,Testcafe也是一个启动自己的代理服务器的应用程序。因此,正如Eddie在回答中提到的,你需要使用Sauce的连接隧道来连接CircleCI。我可以:1)进入saucelabs并打开一个实时会话,访问我的公司测试站点2)使用saucelabs浏览器从我的笔记本电脑运行测试,访问我的公司测试站点。3) 使用saucelabs浏览器从circleci运行测试,以测试面向公众的网站4)我无法使用saucelabs浏览器从circleci运行测试,以测试我的公司测试网站(该网站被列入saucelabs的白名单/上述两种其他方案有效)。@RogerStudner,Testcafe代理服务器应该可以从circleci访问您的网站。请您澄清一下,如第一份声明所述,您是否在SauceLabs Live会话开始时使用了Sauce的连接隧道?如果是,则测试站点的路径可能是本地的,无法访问。您可以尝试创建一个企业VPN,并从CircleCI容器连接到它。如果否,则受测试站点的路径受代理设置保护,SauceLabs将被列入白名单。那么解决办法就是把CircleCI加入到你公司的白名单中。@Artem-Ahh,你说了一些可能是关键的东西。我找不到testcafe代理服务器在控制saucelabs浏览器方面的工作原理。我想我总是觉得从我的服务器角度来看,传入的IP地址应该是saucelabs而不是circleci(因为白名单圈基本上是“所有EC2”)。当我关闭防火墙时,这一切都能正常工作,考虑到你的陈述,这是有道理的。所以基本上testcafe获得了一个saucelabs浏览器,但是通过circle将该浏览器路由回我的站点吗?