,

Webdriver I/O - repozytorium git

Od ostatniego wpisu z tej serii upłynęło więcej czasu niż się spodziewałem, a wszystko przez moje wakacje. Nie samymi testami człowiek żyje 🙂 Niemniej mam nadzieję że z chęcią będziemy kontynuować pracę z Webdriver I/O. Co prawda nie przejdziemy jeszcze do samego Webdrivera, ale zajmiemy się sprawą kluczową dla każdego programisty – tworzeniem i korzystaniem z repozytorium kodu. Do tego celu posłużymy się systemem wersji git oraz serwisem github.

Jeżeli masz doświadczenie w zakresie kontroli wersji z użyciem git, nie musisz bardzo dokładnie zapoznawać się z tym wpisem. Jeśli jednak jesteś początkującym testerem-programistą, to znajdziesz tu wszystkie niezbędne informację dotyczące wykorzystywania git’a w swojej pracy. Zaczynajmy!

Co zrobimy?

Z tego wpisu dowiesz się, miedzy innymi:

  • jak zainstalować git
  • jak zainicjować repozytorium
  • jak zapisywać kolejne przyrosty kodu

Czym jest git?

Git jest rozproszonym systemem kontroli wersji. Pozwala zapisywać kolejne stany kodu tworzonej aplikacji/modułu/testów, przechowywać je w różnych miejscach oraz dzielić się wersjami kodu z innymi programistami bądź testerami. System kontroli wersji jest narzędziem niezbędnym w pracy każdego testera zajmującego się testami automatycznymi.

Podsumowując – za pomocą git’a zapisujemy kolejne stany tworzonych przez nas testów i umieszczamy je w jednym bezpiecznym miejscu, to którego mają dostęp wszyscy współpracujący z nami testerzy bądź programiści.

Jak zainstalować git?

Instalacja git’a jest prosta, niezależnie od systemu operacyjnego z jakim pracujesz. Nie będę tutaj opisywał całego procesu instalacji, wystarczy że zajrzysz tu: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git i przejdziesz kroki instalacyjne. Instrukcja zarówno dla systemu Windows, Mac jak i Linux. Gdy już będziesz miał zainstalowanego git’a, możesz przejść do dalszej części.

Inicjalizacja repozytorium

Aby zainicjajizować repozytorium za pomocą git’a, musimy uruchomić terminal i przejść do katalogu w którym chcemy utworzyć repozytorium. W naszym przypadku będzie to tworzony przez nas moduł testowy.

git init

...


Initialized empty Git repository in

Teraz dodamy cały folder node_modules do plików ignorowanych przez repozytorium. Wszystkie pliki które są generowane lub pobierane jako zewnętrzne biblioteki warto ignorować, przede wszystkim aby odciążyć nasze repozytorium.

Pliki ingorowane w repozytorium

Ignorowane przez git’a pliki oraz foldery listujemy w pliku .gitignore. Oczywiście najpierw musimy utworzyć taki plik, a następnie dodać ignorowane ścieżki plików.

nano .gitignore

...

node_modules/*

...

Sprawdzanie aktualnego stanu repozytorium

Sprawdźmy stan naszego repozytorium. Służy do tego komenda git status. Po jej wywołaniu, git pokarze nam wszystkie zmodyfikowane oraz nowe pliki, oczywiście poza tymi które dodaliśmy do pliku .gitignore

git status

...

On branch master

Initial commit

Untracked files:
  (use "git add ..." to include in what will be committed)

	.DS_Store
	.gitignore
	bin/
	lib/
	package.json
	readme.md

nothing added to commit but untracked files present (use "git add" to track)

Rejestrowanie plików w repozytorium

Pliki wyświetlone są jeszcze niezarejestrowane w naszym repozytorium, więc musimy je dodać. Możemy dodawać pliki kolejno podając ich nazwy poprzedzone komendą git add. Możemy również dodać wszystkie niezarejestrowane pliki jednocześnie, za pomocą komendy git add . (kropka). Dodajmy wszystkie pliki, a następnie wyświetlmy status repozytorium.

git add .
git status

On branch master

Initial commit

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

	new file:   .DS_Store
	new file:   .gitignore
	new file:   bin/startSeleinumStandalone.bash
	new file:   lib/selenium-server-standalone-2.53.0.jar
	new file:   package.json
	new file:   readme.md

Commitowanie zmian

Jak widzimy, pliki zostały zarejestrowane i są gotowe do commitowania – czyli zapisania ich stanu. W tym celu musimy posłużyć się komendą git commit. Aby jednocześnie powiązać informację tekstową z tworzonym zapisem stanu (zwanym potocznie commitem) posłużymy się atrybutem -m. Zatem comitujmy!

git commit -m 'Initial commit'
	  
master (root-commit) 5dcfac7 Initial commit
 6 files changed, 35 insertions(+)
 create mode 100644 .DS_Store
 create mode 100644 .gitignore
 create mode 100644 bin/startSeleinumStandalone.bash
 create mode 100644 lib/selenium-server-standalone-2.53.0.jar
 create mode 100644 package.json
 create mode 100644 readme.md

Świetnie, mamy stworzone lokalne repozytorium, zacomitowane początkowe pliki, najwyższy czas utworzyć repozytorium na githubie i podłączyć do niego nasze repozytorium.

Czym jest github?

Idąc za wikipedią:
Hostingowy serwis internetowy przeznaczony dla projektów programistycznych wykorzystujących system kontroli wersji Git. Stworzony został przy wykorzystaniu frameworka Ruby on Rails i języka Erlang. Serwis działa od kwietnia 2008 roku. W kwietniu 2011 ogłoszono, iż GitHub obsługuje 2 miliony repozytoriów[2]. Github udostępnia darmowy hosting programów open source oraz płatne prywatne repozytoria.

Czyli popularny, darmowy serwis umożliwiający przechowywanie oraz dzielenie się repozytoriami git. Utwórz więc darmowe konto na github (jeśli jeszcze nie masz). Za pomocą prostego interfejsu utwórz pierwsze repozytorium, a następnie podłączymy nasze repozytorium do stworzonego w githubie repozytorium.

Łączenie repozytorium lokalnego oraz githubowego

Za pomocą komendy git remote add origin -adres-githuowego-repozytorium- możemy podłączyć lokalne repozytorium do repozytorium githubowego. Po utworzeniu repozytorium w github, jego adres będzie wyświetlony.

git remote add origin https://github.com/garfunkel61/webdriverio-example.git

Przekazanie zmian z repozytorium lokalnego do zdalnego (githubowego)

Po połączeniu repozytoriów, musimy przekazać aktualny stan lokalnego repozytorium do githuba. Wykonujemy to komendą ‘wypchnięcia’, czyli git push origin master, gdzie origin to towje zdalne (githubowe) repozytorium, a master to gałąź repozytorium którą wypychasz (narazie posiadasz tylko tę, bazową gałąź).

git push origin master

Username for 'https://github.com': garfunkel61 
Password for 'https://garfunkel61@github.com': 
Counting objects: 10, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (9/9), done.
Writing objects: 100% (10/10), 18.45 MiB | 698.00 KiB/s, done.
Total 10 (delta 0), reused 0 (delta 0)
To https://github.com/garfunkel61/webdriverio-example.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.

W ten sposób zsynchronizowałeś stan repozytorium zdalnego, poprzez przekazań stanu repozytorium lokalnego. Te procedurę należy powtarzać możliwie często, najlepiej przy każdym commicie.

Podsumowanie

Udało nam się dziś:

  • zainstalować git’a
  • utworzyć lokalne repozytorium
  • utworzyć zdalne repozytorium
  • zsynchronizować repozytoria

Dzięki temu możesz dzielić się swoim kodem z innymi programistami, a przy odpowiednich uprawnieniach pozwolić im na dokładanie swoich partii kodu (commitowanie oraz wpychanie do zdalnego repozytorium) do tworzonego przez Ciebie modułu / aplikacji.

W następnym wpisie serii będziemy kontynuować pracę z Webdriver I/O, i między innymi zrobimy:

  • konfigurację Webdriver I/O
  • pierwszy test automatyczny

Mam nadzieję że ten wpis pomógł wam zrozumieć czym jest repozytorium i jak z nim postępować. Niebawem kontynuacja, stay tuned 😉

PS. Moje repozytorium z modułem testów Webdriver-IO możesz znaleźć tu: https://github.com/garfunkel61/webdriverio-example

Dodaj komentarz