TestCafe, CircleCI 2.0 и SauceLabs - не удается заставить эту комбинацию работать

Итак, я могу с моего ноутбука сделать следующее: testcafe "saucelabs:Chrome@70.0:Windows 10" tests/settings/users.js

Это позволит подключиться к SauceLabs для запуска теста (или нескольких тестов, работающих в любом случае), чтобы нанести ответный удар по нашему серверу разработки. (IP были занесены в белый список, все работает).

Я также могу, конечно, войти в соусные лаборатории, открыть браузер "живого тестирования", подключиться к этой среде / войти и т. Д.

Таким образом, "SauceLabs =-> Моя среда" в порядке.

Если я попытаюсь выполнить сборку на окружности, чтобы сделать именно это, то это не получится.

В моей роли у меня есть следующий код:

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);

Это распечатает, что весь externalHTML только

<html><head></head><body></body></html>

Он выведет, что текущий URL-адрес "about:blank"

Итак, мой вопрос... при запуске тестов с использованием соусников FROM CIRCLE, мне нужно будет добавить в белый список CIRCLE?

Кажется, я не могу понять, в чем разница между функционалом и выполнением между запуском тестов на моем ноутбуке и кругом, когда мы ИСПОЛЬЗУЕМ браузеры с соусами.

Является ли "IP, с которого выполняются тесты" (белый список ip), кругом CI на этом этапе, или соусами? Я, конечно, предполагал, что это соусники.

ПРИМЕЧАНИЕ: я действительно смог просто пройти тест testcafe "example.js" и заставить его работать с использованием круга / соусника. Так что это буквально связано с тем, что мы просто запускаем тесты обратно в мою среду. Я хотел бы узнать больше о том, что было бы "исходным диапазоном IP-адресов", если бы Circle запускал тесты, "используя" браузеры saucelab.

Любой совет будет принята с благодарностью!

(просто очень трудно понять, как решить проблему)

2 ответа

Чтобы SauceLabs выполнял приложение, работающее в контейнерах CircleCI, вам необходимо использовать туннель подключения Sauce, поскольку службы, работающие в контейнере CircleCI, недоступны из Интернета.

CircleCI и SauceLabs объединились для создания "шара", который упрощает настройку туннеля. Я не знаком с TestCafe, но он должен решить проблемы с подключением.

Вы можете увидеть пример SauceLabs (хотя и с использованием Maven / Java) в CircleCI здесь, https://github.com/eddiewebb/demo-blueskygreenbuilds/blob/master/.circleci/config.yml#L17, но в основном

  - 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" 

Вам нужно использовать Connect Snel Tunnel для соединения с CircleCI, как @Eddie упомянул в своем ответе.

Протестированный сайт защищен настройками прокси, а SauceLabs внесен в белый список. Решение состоит в том, чтобы добавить CircleCI в белый список вашей компании.

Браузер SauceLab === tunnel (ok)===> Прокси-сервер Testcafe (CircleCI) === межсетевой экран (сбой)===> Сайт на вашем компьютере

Другие вопросы по тегам