Как запустить testcafe с локального на chrome docker изображении - PullRequest
0 голосов
/ 21 апреля 2020

Я не хочу устанавливать chrome для запуска testcafe и хочу использовать chrome docker образ. Step1:

docker run -d -p 4444:4444 selenium/standalone-chrome

Step2:

docker container ls
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS              PORTS                    NAMES
3487d6a08310        selenium/standalone-chrome   "/opt/bin/entry_poin…"   About an hour ago   Up About an hour    0.0.0.0:4444->4444/tcp   charming_proskuriakova

Step3: Этот код работает для python2 .7

from selenium import webdriver

from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

driver=webdriver.Remote(
          command_executor='http://0.0.0.0:4444/wd/hub',
          desired_capabilities=DesiredCapabilities.CHROME)


driver.get("https://www.google.com/")  
print driver.title
driver.close() 

Я хочу использовать те же функции для testcafe. Базовый код (test1. js):

    import { Selector } from 'testcafe';

    fixture `Getting Started`
        .page `http://devexpress.github.io/testcafe/example`;

    test('My first test', async t => {
        // Test code
});

Выполнение на локальном Chrome:

testcafe chrome test1.js

Я ищу способ заменить chrome на docker image , Я знаю, chrome встроен в testcafe, вы можете рассмотреть «safari» или любой другой браузер вместо chrome. IDea научиться использовать docker изображение в testcafe. PS: я не хочу использовать образ testcafe / testcafe, поскольку моя проблема не в том, чтобы запустить testcafe в docker, а только в браузере в docker.

1 Ответ

1 голос
/ 22 апреля 2020

Не могли бы вы уточнить, почему вы не хотите использовать изображение testcafe docker? Кажется, что изображение selenium / standalone- chrome также содержит связанный с селеном код, который прослушивает API-запросы и запускает тест в браузере, установленном внутри контейнера.

Примечание: testcafe не имеет встроенных браузеров, он запускает локально установленные браузеры.

Альтернативный способ запустить браузер внутри docker изображения - использовать функцию удаленного браузера (https://devexpress.github.io/testcafe/documentation/using-testcafe/command-line-interface.html#remote -браузеры ). Вам нужно будет запустить tescafe с «удаленным» псевдонимом браузера, а затем запустить браузер внутри контейнера с помощью команды «docker run» и передать ему ссылку «http: /// browser / connect»

...