Selenium Webdriver: Porovnání verzí

Z Wiki
Přejít na: navigace, hledání
(Založena nová stránka s textem „Pro maximalizaci přenositelnosti projektů mezi jednotlivými operačními systémy je nutné nastavit systém na jednotný vzhled. V tomto dokumentu najd…“)
 
(1. Základní spouštění Selenium Webdriver)
 
(Není zobrazeno 41 mezilehlých verzí od stejného uživatele.)
Řádek 1: Řádek 1:
Pro maximalizaci přenositelnosti projektů mezi jednotlivými operačními systémy je nutné nastavit systém na jednotný vzhled. V tomto dokumentu najdete postupy pro doporučená nastavení jednotlivých verzí operačního systému Windows a internetového prohlížeče Microsoft Internet Explorer do verze 8 včetně (MSIE).
+
Práce se Selenium Webdriver
 
 
Pokud změnám vzhledu podléhá i testovaná aplikace, specifikujte standard jejího nastavení a testy připravujte na takto nastavené aplikaci.
 
 
 
Vliv změny rozlišení obrazovky na funkčnost automatizovaného testu může být znatelný při přechodu na nižší rozlišení. Mohou se totiž zobrazit rolovací lišty nebo projevit jiné změny ve vzhledu testované aplikace. Z toho důvodu je užitečné připravovat test na nejmenším rozlišení předpokládaném pro běh testu nebo v ideálním případě rozlišení sjednotit. Zvýšení rozlišení většinou problémy nepůsobí.
 
  
 
----
 
----
  
 
'''
 
'''
== 1.  Windows XP ==
+
== 1.  Základní spouštění Selenium Webdriver ==
'''1.1.  Nastavení motivu'''
+
'''1.1.  Základní spouštění Selenium Webdriver'''
 
 
Klikněte pravým tlačítkem na plochu a z kontextové nabídky vyberte položku Vlastnosti. V zobrazeném okně Zobrazení - vlastnosti v záložce Motiv vyberte motiv Klasické nastavení (viz Obr. 1 Nastavení motivu – Windows XP). Stiskněte tlačítko Použít a pokračujte následujícím krokem.
 
 
 
''Obr. 1 Nastavení motivu - Windows XP''
 
 
 
[[File:WindowsXP_NastaveniMotivu.png|center]]
 
 
 
'''1.2  Zrušení vyhlazování písma'''
 
 
 
Okno Zobrazení – vlastnosti přepněte do záložky Vzhled a stiskněte tlačítko Efekty. Otevře se okno efekty, ve kterém zrušte případné zaškrtnutí položky Používat metodu vyhlazování hran rastrových písem (viz Efekty – Windows XP).
 
 
 
''Obr. 2 Efekty - Windows XP''
 
 
 
[[File:02.png|center]]
 
 
 
== 2.  Windows Vista ==
 
 
 
'''2.1  Nastavení motivu'''
 
 
 
Klikněte pravým tlačítkem na plochu a z kontextové nabídky vyberte položku ''Přizpůsobit''. V zobrazeném okně ''Individuální nastavení'' klikněte na odkaz ''Motiv''. Zobrazí se okno ''Nastavení motivů'', ve kterém vyberte motiv ''Klasické nastavení'' (viz Obr. 3 Nastavení motivu – Windows Vista). Tlačítkem ''OK'' zavřete okno a vrátíte se do okna ''Individuální nastavení''. Toto okno nezavírejte a pokračujte následujícím krokem.
 
 
 
''Obr. 3 Nastavení motivu – Windows Vista''
 
 
 
[[File:WindowsVista_NastaveniMotivu.png|center]]
 
 
 
 
 
'''2.2  Zrušení vyhlazování písma'''
 
 
 
V okně ''Individuální nastavení'' klikněte na odkaz ''Barva a zobrazení okna''. Zobrazí se okno ''Nastavení vzhledu'', ve kterém stiskněte tlačítko ''Efekty''. Zde zrušte zaškrtnutí u položky ''Používat metodu vyhlazování hran rastrových písem''. Všechna okna zavřete tlačítkem ''OK''.
 
 
 
== 3.  Windows 7 ==
 
 
 
'''3.1  Nastavení motivu'''
 
 
 
Klikněte pravým tlačítkem na plochu a z kontextové nabídky vyberte položku ''Přizpůsobit''. V zobrazeném okně ''Individuální nastavení'' zvolte motiv ''Klasické nastavení'' (viz Obr. 4 Nastavení motivu – Windows 7). Okno nezavírejte a přejděte k následujícímu kroku.
 
 
 
''Obr. 4 Nastavení motivu – Windows 7''
 
 
 
[[File:Windows7_NastaveniMotivu.png|center]]
 
 
 
'''3.2  Zrušení vyhlazování písma'''
 
 
 
V okně ''Individuální nastavení'' zvolte odkaz ''Zobrazení'' (vlevo dole). V tomto okně pak klikněte na odkaz ''Upravit text ClearType'' (viz Obr. 5 Zobrazení - Windows 7).
 
 
 
''Obr. 5  Zobrazení - Windows 7''
 
 
 
[[File:Windows7 Zobrazeni.png|center]]
 
 
 
V zobrazeném okně zrušte případné zaškrtnutí položky ''Zapnout technologii ClearType'' (viz Obr. 6 Optimalizace zobrazení textu ClearType – Windows 7) a opakovaným stiskem tlačítka ''Další'' se doberete k tlačítku ''Dokončit'', které stiskněte.
 
 
 
V případě použití více monitorů, je nutné tento krok opakovat pro všechny monitory.
 
 
 
''Obr. 6 Optimalizace zobrazení textu ClearType – Windows 7''
 
 
 
[[File:Windows7 OpimalizaceZobrazeniTextClearType.png|center]]
 
 
 
Dále z hlavní nabídky systému zobrazte ''Ovládací panely'' a zvolte ''Systém a zabezpečení''. Pak zvolte odkaz ''Systém'' a v zobrazeném okně zvolte položku ''Upřesnit nastavení'' systému v nabídce vlevo (viz Obr. 7 Systém – Windows 7)
 
 
 
''Obr. 7 Systém – Windows 7''
 
 
 
[[File:Windows7 System.png|center]]
 
 
 
Zobrazí se okno ''Vlastnosti systému'' se záložkou ''Upřesnit''. Zde klikněte na tlačítko ''Nastavení'' pro ''Výkon'' (viz Obr. 8 Vlastnosti systému – Windows 7).
 
 
 
''Obr. 8 Vlastnosti systému – Windows 7''
 
 
 
[[File:Windows7 VlastnostiSystemu.png|center]]
 
 
 
V zobrazeném okně ''Možnosti výkonu'' vyhledejte položku ''Vyhladit hrany obrazovkových písem'' a zrušte její zaškrtnutí (viz Obr. 9 Možnosti výkonu – Windows 7).
 
 
 
''Obr. 9 Možnosti výkonu – Windows 7''
 
 
 
[[File:Windows7 MoznostiVykonu.png|center]]
 
 
 
Otevřená okna zavřete tlačítkem ''OK''.
 
 
 
Někdy se může stát, že po aktualizaci Windows 7 se opět zapne Vyhlazování hran obrazovkových písem. Je tedy nutné občas zkontrolovat toto nastavení. Důsledkem pak jsou chyby při vyhledávání vzorových bitmap v testovacích scénářích.
 
 
 
Je možné taktéž využít nastavení ''Optimalizovat pro výkon'', kterým se vypnou všechny Vizuální efekty.
 
 
 
== 4.  Windows 8 ==
 
 
 
'''4.1  Nastavení motivu'''
 
 
 
Klikněte pravým tlačítkem na plochu a z kontextové nabídky vyberte položku ''Přizpůsobit''. V zobrazeném okně ''Individuální nastavení'' zvolte v dolní části ''Pozadí plochy'' (viz Obr. 10 Nastavení motivu – Windows 8).
 
 
 
''Obr. 10 Nastavení motivu – Windows 8''
 
 
 
[[File:Windows8 NastaveniMotivu.png|center]]
 
 
 
Na následující obrazovce rozklikněte menu ''Umístění obrázku'' a vyberte volbu ''Plné barvy'' (viz Obr. 11 Pozadí plochy – Windows 8).
 
 
 
''Obr. 11 Pozadí plochy – Windows 8''
 
 
 
[[File:Windows8 PozadiPlochy.png|center]]
 
 
 
Vyberte barvu (např. modrou) a klikněte na ''Uložit změny'' (viz Obr. 12 Plné barvy – Windows 8).
 
 
 
''Obr. 12 Plné barvy – Windows 8''
 
 
 
[[File:Windows8 PlneBarvy.png|center]]
 
 
 
Okno nezavírejte a přejděte k následujícímu kroku.
 
 
 
 
 
'''4.2  Zrušení vyhlazování písma'''
 
 
 
V okně ''Individuální nastavení'' zvolte odkaz ''Zobrazení'' (vlevo dole). V tomto okně pak klikněte na odkaz ''Upravit text ClearType'' a postupujte dle pokynů v bodě 3.2 Zrušení vyhlazování písma ve Windows 7.
 
 
 
== 5.  Windows 10 ==
 
 
 
'''5.1  Nastavení motivu'''
 
 
 
Klikněte pravým tlačítkem na plochu a z kontextové nabídky vyberte položku ''Přizpůsobit''. Ve zobrazeném levém menu vyberte ''Pozadí'', ve střední části zvolte pozadí ''Plná barva'' (místo ''Obrázek'') (viz Obr. 13 Nastavení motivu – Windows 10).
 
 
''Obr. 13 Nastavení motivu – Windows 10''
 
 
 
[[File:Windows10 NastaveniMotivu.png|center]]
 
 
 
V okně ''Zvolte svou barvu pozadí'' je automaticky vybrána černá barva (viz Obr. 14 Barva pozadí– Windows 10). Je možné si vybrat jakoukoliv jinou například modrou. Okno nezavírejte a přejděte k následujícímu kroku.
 
 
 
''Obr. 14 Barva pozadí – Windows 10''
 
 
 
[[File:Windows10 BarvaPozadi.png|center]]
 
 
 
'''5.2  Zrušení vyhlazování písma'''
 
 
 
Ve zobrazeném levém menu vyberte ''Písma'' (viz Obr. 15 Zrušení vyhlazování písma – Windows 10) a na následující obrazovce vpravo nahoře klikněte na odkaz ''Upravit text ClearType'' (viz Obr. 16 Písma – Windows 10).
 
 
 
''Obr. 15 Zrušení vyhlazování písma – Windows 10''
 
 
 
[[File:Windows10 ZruseniVyhlazovaniPisma.png|center]]
 
 
 
''Obr. 16 Písma – Windows 10''
 
 
 
[[File:Windows10 Pisma.png|center]]
 
 
 
''Obr. 17 Upravit text ClearType – Windows 10''
 
 
 
[[File:Windows10 UpravitTextClearType.png|center]]
 
 
 
V zobrazeném okně zrušte případné zaškrtnutí položky ''Zapnout technologii ClearType'' (viz Obr. 17 Upravit text ClearType – Windows 10) a opakovaným stiskem tlačítka ''Další'' se doberete k tlačítku ''Dokončit'', které stiskněte.
 
 
 
V případě použití více monitorů, je nutné tento krok opakovat pro všechny monitory.
 
 
 
Okno ''Nastavení'' nyní můžete zavřít.
 
 
 
Dále z hlavní nabídky systému zobrazte ''Ovládací panely'' a zvolte ''Systém a zabezpečení''. Pak zvolte odkaz ''Systém'' a v zobrazeném okně zvolte položku ''Upřesnit nastavení systému'' v nabídce vlevo (viz Obr. 18 Systém – Windows 10).
 
 
 
''Obr. 18 Systém – Windows 10''
 
 
 
[[File:Windows10 System.png|center]]
 
 
 
Zobrazí se okno ''Vlastnosti systému'' se záložkou ''Upřesnit''. Zde klikněte na tlačítko ''Nastavení pro Výkon'' (viz Obr. 19 Systém – Windows 10).
 
 
 
''Obr. 19 Vlastnosti systému – Windows 10''
 
 
 
[[File:Windows10 VlastnostiSystemu.png|center]]
 
 
 
V zobrazeném okně ''Možnosti výkonu'' vyhledejte položku ''Vyhladit hrany obrazovkových písem'' a zrušte její zaškrtnutí (viz Obr. 20 Možnosti výkonu – Windows 10).
 
  
''Obr. 20 Možnosti výkonu – Windows 10''
+
1. Spustit Selenium Server:
  
[[File:Windows10 MoznostiVykonu.png|center]]
+
<blockquote>
 +
<code>
 +
java -jar selenium-server-4.28.1.jar standalone --session-timeout 3600
 +
</code>
 +
</blockquote>
  
Klikněte na ''Použít''. Otevřená okna zavřete tlačítkem ''OK''.
+
2. Spustit v GuiMasteru příkaz WebDriver s parametrem "Command" nastaveným na hodnotu "driver" a s parametrem "Value" nastaveným na jednu z hodnot Firefox | Chrome | InternetExplorer | Edge | Opera | Safari.
  
Někdy se může stát, že po aktualizaci Windows 10 si systém opět zapne ''Vyhlazování hran obrazovkových písem''. Je tedy nutné občas zkontrolovat toto nastavení. Důsledkem pak jsou chyby při vyhledávání vzorových bitmap v testovacích scénářích.
+
== 2.   Volba jiných verzí prohlížečů ==
  
Je možné taktéž využít nastavení ''Optimalizovat pro výkon'', kterým se vypnou všechny Vizuální efekty.
+
'''2.1  Důležité '''
  
'''5.3  Nastavení měřítka'''
+
Hodnota parametru
  
Klikněte pravým tlačítkem na plochu a z kontextové nabídky vyberte položku ''Nastavení zobrazení''. V zobrazeném okně zajistěte v nastavení ''Změnit velikost textu, aplikací a dalších položek'' hodnotu
+
<blockquote>
100% (viz Obr. 21 Nastavení měřítka – Windows 10).
+
<code>
 +
\"browserVersion\": \"137\"
 +
</code>
 +
</blockquote>
  
''Obr. 21 Nastavení měřítka – Windows 10''
+
se musí shodovat s verzí prohlížeče dostupné na dané stanici!
  
[[File:Windows10 NastaveniMeritka.png|center]]
+
Pokud daná verze prohlížeče není na dané stanici dostupná, Selenium Server se může automaticky pokusit stáhnout verzi ze vzdáleného repozitáře a vytvořit tak falešný dojem, že je vše nastaveno v pořádku, pokud si uživatel pozorně nezkontroluje log a verzi prohlížeče. Tento proces samozřejmě selže v případě, že je připojení ke vzdálenému repozitáři blokováno.
  
== 6.  MSIE (pouze pro verzi 8 a nižší) ==
 
  
 +
To stejné platí pro daný webdriver, pokud není na stanici dostupný, nebo je k němu v config.toml uvedena neplatná cesta.
  
'''6.1  Zrušení vyhlazování písma'''
+
Selenium Server takto stáhnuté vzdálené zdroje (verze prohlížečů a webdriverů) ukládá do složky
  
V okně ''Možnosti Internetu'' přepněte na záložku ''Upřesnit''. Vyhledejte položku ''Pro formát HTML vždy používat technologii ClearType'' a zrušte její zaškrtnutí (viz Obr. 22 Možnosti internetu). Potvrďte změny tlačítkem ''OK''.
+
<blockquote>
 +
<code>
 +
C:\Users\USERNAME\.cache\selenium
 +
</code>
 +
</blockquote>
  
''Obr. 22 Možnosti internetu''
+
'''2.2  Webdriver s Firefox Nightly'''
  
[[File:MSIE8 ClearType.png|center]]
+
Obsah config.toml:
  
== 7.  Nastavení vzdálené stanice pro potřeby RDP připojení ==
+
<blockquote>
 +
<pre>
 +
[node]
  
'''7.1  Vynucený zákaz vyhlazování písma na vzdálené stanici, navzdory RDP nastavení klienta (Windows Server 2008 R2 a novější)'''
+
detect-drivers = false
  
Pokud možno, aplikujte toto nastavení na úrovni skupinové politiky pro všechny uživatele přistupující na daný server.  
+
<nowiki>[[node.driver-configuration]]</nowiki>
  
Klient má standardně možnost zapnout/vypnout vyhlazování písma v nastavení svého RDP přístupu na vzdálenou stanici (viz Obr. 23 Nastavení RDP pro vyhlazování písma)
+
display-name = "Firefox Nightly"
  
''Obr. 23 Nastavení RDP pro vyhlazování písma''
+
webdriver-executable = 'C:\WebDrivers\geckodriver.exe'
  
[[File:RDP_experience.jpg|center]]
+
stereotype = "{\"browserName\": \"firefox\", \"browserVersion\": \"137\", \"platformName\": \"PC\", \"moz:firefoxOptions\": {\"binary\": \"C:/Program Files/Firefox Nightly/firefox.exe\"}}"
 +
</pre>
 +
</blockquote>
  
Toto řešení však spoléhá na zodpovědnost každého uživatele, který na vzdálenou stanici přistupuje a hrozí tak, že některý z uživatelů nastavení nedodrží a na vzdálené stanici bude písmo zobrazeno s vyhlazováním. Lepším řešením je proto zakázat vyhlazování písma přímo na vzdálené stanici tak, aby nastavení uživatele nehrálo žádnou roli. Na vzdálené stanici nastavíme registry podle následujícího popisu:
+
Obsah selenium-server-custom-driver.bat:
 +
<blockquote>
 +
<code>
 +
java -jar selenium-server-4.28.1.jar standalone --config config.toml --session-timeout 3600
 +
</code>
 +
</blockquote>
  
# Na adrese v registrech: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services
+
'''2.3  Webdriver s Firefox Portable'''
# Vytvořte DWORD (32-bit) s názvem "fNoFontSmoothing" (bez uvozovek)
 
# Hodnotu tohoto DWORD nastavte na hodnotu "1"
 
# Restartujte server
 
  
'''7.2  Vynucený zákaz škálování obrazu na vzdálené stanici, navzdory lokálnímu nastavení klienta'''
+
Obsah config.toml:
  
Pokud možno, aplikujte toto nastavení na úrovni skupinové politiky pro všechny uživatele přistupující na daný server.
+
<blockquote>
 +
<pre>
 +
[node]
  
V RDP verzi 8.1 bylo zavedeno automatické upravování DPI na serveru podle nastavení stanice připojujícího se uživatele. To v praxi znamená, že každý uživatel může svým pouhým přihlášením na server měnit velikost škálování na serveru a tím rozbíjet testy (změna bitmap). Je proto nutné upravit registry na daném serveru. Po úpravě registrů nemá uživatelské nastavení DPI vliv na server a testy tak lze stabilně provozovat bez ohledu na to, kdo se z jakého stroje k serveru připojuje. Upravte registry podle tohoto návodu:
+
detect-drivers = false
  
# Na adrese v registrech: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations
+
<nowiki>[[node.driver-configuration]]</nowiki>
# Vytvořte DWORD (32-bit) s názvem "IgnoreClientDesktopScaleFactor" (bez uvozovek)
 
# Hodnotu tohoto DWORD nastavte na hodnotu "1"
 
# Restartujte server
 
  
Po této úpravě je přímo na serveru možno nastavit škálování na hodnotu nezávislou na lokálním nastavení uživatele.
+
display-name = "Firefox Portable"
  
== 8. Firefox ==
+
webdriver-executable = 'C:\WebDrivers\geckodriver.exe'
  
'''8.1 Ukončování Firefoxu pomocí příkazu TaskKill'''
+
stereotype = "{\"browserName\": \"firefox\", \"browserVersion\": \"135\", \"platformName\": \"PC\", \"moz:firefoxOptions\": {\"binary\": \"C:/Users/YourUserName/Downloads/FirefoxPortable/App/Firefox64/firefox.exe\"}}"
 +
</pre>
 +
</blockquote>
  
Abychom mohli bez problémů ukončovat Firefox pomocí příkazu ''taskkill /im firefox.exe /f'', je zapotřebí ve Firefoxu v about:config nastavit parametr '''toolkit.startup.max_resumed_crashes''' na hodnotu '''-1'''. Pokud toto nastavení neprovedeme, Firefox si po několika takových vynucených ukončení (defaultně třech) začne vynucovat spuštění v tzv. Safe Mode/Troubleshooting režimu.
+
Obsah selenium-server-custom-driver.bat:
 +
<blockquote>
 +
<code>
 +
java -jar selenium-server-4.28.1.jar standalone --config config.toml --session-timeout 3600
 +
</code>
 +
</blockquote>

Aktuální verze z 6. 3. 2025, 17:00

Práce se Selenium Webdriver


1. Základní spouštění Selenium Webdriver

1.1. Základní spouštění Selenium Webdriver

1. Spustit Selenium Server:

java -jar selenium-server-4.28.1.jar standalone --session-timeout 3600

2. Spustit v GuiMasteru příkaz WebDriver s parametrem "Command" nastaveným na hodnotu "driver" a s parametrem "Value" nastaveným na jednu z hodnot Firefox | Chrome | InternetExplorer | Edge | Opera | Safari.

2. Volba jiných verzí prohlížečů

2.1 Důležité

Hodnota parametru

\"browserVersion\": \"137\"

se musí shodovat s verzí prohlížeče dostupné na dané stanici!

Pokud daná verze prohlížeče není na dané stanici dostupná, Selenium Server se může automaticky pokusit stáhnout verzi ze vzdáleného repozitáře a vytvořit tak falešný dojem, že je vše nastaveno v pořádku, pokud si uživatel pozorně nezkontroluje log a verzi prohlížeče. Tento proces samozřejmě selže v případě, že je připojení ke vzdálenému repozitáři blokováno.


To stejné platí pro daný webdriver, pokud není na stanici dostupný, nebo je k němu v config.toml uvedena neplatná cesta.

Selenium Server takto stáhnuté vzdálené zdroje (verze prohlížečů a webdriverů) ukládá do složky

C:\Users\USERNAME\.cache\selenium

2.2 Webdriver s Firefox Nightly

Obsah config.toml:

[node]

detect-drivers = false

[[node.driver-configuration]]

display-name = "Firefox Nightly"

webdriver-executable = 'C:\WebDrivers\geckodriver.exe'

stereotype = "{\"browserName\": \"firefox\", \"browserVersion\": \"137\", \"platformName\": \"PC\", \"moz:firefoxOptions\": {\"binary\": \"C:/Program Files/Firefox Nightly/firefox.exe\"}}"

Obsah selenium-server-custom-driver.bat:

java -jar selenium-server-4.28.1.jar standalone --config config.toml --session-timeout 3600

2.3 Webdriver s Firefox Portable

Obsah config.toml:

[node]

detect-drivers = false

[[node.driver-configuration]]

display-name = "Firefox Portable"

webdriver-executable = 'C:\WebDrivers\geckodriver.exe'

stereotype = "{\"browserName\": \"firefox\", \"browserVersion\": \"135\", \"platformName\": \"PC\", \"moz:firefoxOptions\": {\"binary\": \"C:/Users/YourUserName/Downloads/FirefoxPortable/App/Firefox64/firefox.exe\"}}"

Obsah selenium-server-custom-driver.bat:

java -jar selenium-server-4.28.1.jar standalone --config config.toml --session-timeout 3600