dockpack.base_grid

GalaxyBuild Status

Podstawowa Siatka

Siatka Selenium działająca z użyciem docker-compose i innych technologii.

Zrzut ekranu Siatki Selenium

Celem jest pomoc programistom w tworzeniu stron internetowych, które będą działały dla szerokiej publiczności.

dockpack.base_grid to rola Ansible, która wdraża siatkę Selenium i dodaje dodatkowe funkcje, aby można było używać jej w trybie lokalnym do symulacji różnych przeglądarek internetowych.

W firmach często korzysta się z Wirtualnych Pulpitów (Citrix lub VMWare Horizon) na systemach Windows oraz serwerów lokalnych działających na Red Hat Enterprise 7, które mogą obsługiwać tylko wersję Dockera zalecaną przez RedHat, docker-latest 1.13.

Uruchamiane kontenery powinny współpracować z wewnętrznym rejestrem Dockera, takim jak Sonatype Nexus, a cały ruch internetowy powinien być przekierowywany przez proxy.

Aby zautomatyzować testowanie między przeglądarkami, potrzebujesz Siatki Selenium, do której można się podłączyć z Wirtualnych Pulpitów i lokalnego serwera kompilacji (Jenkins). Siatka docker-compose obsługuje starsze i nowsze wersje Firefoxa i Chrome. Starsze wersje nie są obecne w nowoczesnych systemach IT, ale niektórzy użytkownicy nadal z nich korzystają. Microsoft publikuje obrazy VM z różnymi starszymi wersjami Internet Explorera. Używając Vagrant, możemy dodać je do lokalnej siatki.

Centos 7.5

Ta rola Ansible jest testowana z moim boxem Vagrant redesign/centos7. Źródło Packer jest dostępne pod adresem https://github.com/bbaassssiiee/redesign

vagrant init redesign/centos7

Zmienne roli

Plik defaults/main.yml zawiera zmienne, które można zmieniać dla różnych wersji. Zajrzyj na tę stronę, aby sprawdzić obsługiwane wersje przeglądarek: https://github.com/SeleniumHQ/docker-selenium/releases Ta rola zakłada obecność Dockera i (lokalnego) rejestru, takiego jak Sonatype Nexus, trzymającego obrazy wymienione w zmiennych i ustawieniach domyślnych. Ten rejestr można ustawić jako selenium_registry w plikach group_vars, jeśli zajdzie taka potrzeba.

Testowanie

Możesz sobie wyobrazić, że utrzymywanie takiej infrastruktury testowej jest skomplikowanym zadaniem, dlatego to repozytorium zawiera narzędzia do symulacji różnych rzeczy, z którymi musimy się zmierzyć w najbliższej przyszłości (2019). Możemy zająć się tymi kwestiami:

  1. Przejście z Pythona 2.7 na Pythona 3
  2. Przejście z Ansible 2.6 na 2.7 i inne

Wymagania

Python pip musi być dostępny w celu przetestowania wielu wersji Ansible za pomocą Tox i Molecule.

pip install requirements.txt

Lokalny rejestr Dockera

Możesz pobrać te obrazy, otagować je i przesłać do swojego lokalnego rejestru.

docker pull selenium/node-firefox:3.141.59-iron
docker pull selenium/node-firefox:3.12.0-cobalt
docker pull selenium/node-chrome:3.141.59-iron
docker pull selenium/node-chrome:3.8.1-erbium
docker pull selenium/hub:3.141.59-iron
docker images
docker tag ...
docker push ...

Testowanie Vagrant

Możesz użyć 7 wersji Internet Explorera, pobierając maszyny wirtualne od Microsoftu. Ten skrypt wykonuje pobieranie, dekompresję oraz vagrant box add, abyś mógł skorzystać z Vagrantfile.

cd vagrant
./windows_boxes.py
vagrant up IE8Win7
vagrant up IE9Win7
vagrant up IE10Win7
vagrant up IE11Win7
vagrant up IE11Win81
vagrant up MSEdgeWin10

Narzędzia dla Maca

Testuję to na Macu z Vagrantem i Virtualboxem. Instaluję wszystkie narzędzia dla Maca zawarte w Brewfile za pomocą:

brew bundle

Role, które dobrze współpracują z tą rolą

dockpack.base_goss dockpack.base.docker

Testowanie Tox

Tox jest używany, więc całość jest testowana z:

tox

Przykład Playbooka

Zawierając przykład, jak używać swojej roli (na przykład, z przekazywanymi zmiennymi jako parametrami), zawsze jest to miłe dla użytkowników:

- name: provision selenium
  hosts: testsystem
  become: yes
  roles:
    - { role: dockpack.base_grid, tags: 'selenium'}

Licencja

MIT

Informacje o autorze

Bas Meijer @bbaassssiiee

Zainstaluj
ansible-galaxy install dockpack.base_grid
Licencja
mit
Pobrania
74
Właściciel
CI/CD