TestCafe, CircleCI 2.0 и SauceLabs - не удается заставить эту комбинацию работать - PullRequest
0 голосов
/ 06 декабря 2018

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

Это, при подключении к SauceLabs, запуститьtest (или несколько тестов, работает в любом случае), чтобы нанести ответный удар по нашему серверу разработки.(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"

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

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

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

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

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

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

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

Вам необходимо использовать туннель подключения Sauce для подключения к CircleCI, как @Eddie упомянул в своем ответе.

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

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

0 голосов
/ 06 декабря 2018

Чтобы 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" 
...