Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 177007|Odpoveď: 27

[Zdroj] .Net/C# Automatizované testy Selenium získavajú hodnoty cookies

[Kopírovať odkaz]
Zverejnené 5. 7. 2020 11:44:34 | | | |
Dopyt

Keďže požiadavka na prihlásenie simulácie je príliš zložitá, chceme použiť Selenium na otvorenie Google Chrome, aby sme získali hodnotu cookie po prihlásení, a potom prenášať obsah cookie, aby sme požiadali o príslušné rozhranie webu na automatizáciu testu.

Selén

Selenium je nástroj na testovanie webových aplikácií. Testy Selenium bežia priamo v prehliadači, akoby ich robil skutočný používateľ. Podporované prehliadače zahŕňajú IE (7, 8, 9, 10, 11), Mozilla Firefox, Safari, Google Chrome, Opera a ďalšie. Hlavné funkcie tohto nástroja zahŕňajú: Testovanie kompatibility prehliadačov – otestujte svoju aplikáciu, či dobre funguje na rôznych prehliadačoch a operačných systémoch. Funkčnosť testovacieho systému – Vytváranie regresných testov na overenie funkčnosti softvéru a požiadaviek používateľa. Podporuje automatické zaznamenávanie akcií a automatické generovanie testovacích skriptov v rôznych jazykoch ako .Net, Java, Perl a podobne.

Najprv vytvorme nový C# konzolový projekt s názvom projektu "chrome-cookie-demo" a verzia .NET frameworku je 4.7.2.

Príkaz nuget je nasledovný:

Po inštalácii Selenium.WebDriver.ChromeDriver bude v adresári projektového ladenia vygenerovaný chromedriver.exe súbor.
Selenium.WebDriver je chápaný ako abstraktné rozhranie, a potom každý prehliadač implementuje toto rozhranie samostatne, Selenium.WebDriver zavolá Selenium.WebDriver.ChromeDriver(chromedriver.exe), chromedriver.exe spustí natívne nainštalovaný Google Chrome podľa získaných parametrov a následne vykoná príslušnú operáciu.

Samozrejme, existuje predpoklad,Počítač musí mať nainštalovaný Google Chrome

Kód je nasledovný:

Chyba je nasledovná:


System.InvalidOperationException: session not created: This version of ChromeDriver only supports Chrome version 83



To znamená, že aktuálny ovládač nepodporuje verziu 83 Google Chrome, skontrolujte verziu nainštalovanú na zariadení nasledovne:


(Verzia 71.0.3578.98)

Aktualizácia vášho natívneho Google Chrome a jeho reštart problém opraví (alebo nainštalujte verziu prehliadača, ktorá spĺňa požiadavky).

Snažíme sa znovu spustiť demo projekt chrome-cookie-a a zistíme, že stránka sa dá normálne otvoriť, ale,Webová stránka nie je prihlásená。 Keď kliknete na prehliadač a otvoríte túto stránku, stav je prihlásený.

Riešením je nastaviť parameter user-data-dir s nasledujúcim kódom:

Reštartujeme program a zobrazí sa nasledujúca chyba:

Nespracovaná výnimka: OpenQA.Selenium.WebDriverVýnimka: neplatný argument: adresár používateľských dát je už v prevádzke, prosím, zadajte jedinečnú hodnotu pre --user-data-dir argument, alebo nepoužívajte -- user-data-dir
   na OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Odpoveď na chybu)
   at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary'2 parameters)
   In OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities)
   V OpenQA.Selenium.Remote.RemoteWebDriver: ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities)
   V OpenQA.Selenium.Chrome.ChromeDriver: ctor(služba ChromeDriverService, možnosti ChromeOptions, príkaz TimeSpan)
   V OpenQA.Selenium.Chrome.ChromeDriver: ctor(služba ChromeDriverService, možnosti ChromeOptions)
   V chrome_cookie_demo. Program.Main(String[] args) Lokalita C:\Users\itsvse_pc\source\repos\chrome-cookie-demo\chrome-cookie-demo\Program.cs: riadok číslo 36

Približne povedané, zložka je obsadená, prosím, vráťte ju, riešenie:Zatvorte otvorený Google Chrome a použite priečinok používateľských dát pre program "chrome-cookie-demo", ktorý sme napísali

Získajte webové cookies

driver.manage().getCookies();   Vrátiť zoznam všetkých cookies
driver.manage().getCookieNamed(arg0);  Vráťte konkrétny cookie podľa názvu
driver.manage().addCookie(arg0);   Vytvorte a pridajte cookie
driver.manage().deleteCookie(arg0);  Vymazať konkrétny cookie
driver.manage().deleteCookieNamed(arg0); Vymažte konkrétny cookie podľa názvu
driver.manage().deleteAllCookies();  Vymažte všetky cookies

Dokumentácia:Prihlásenie na hypertextový odkaz je viditeľné.

Testujeme, aby sme získali všetky webové cookies

Objav,Informácie o cookies si môžete prečítať na "HttpOnly", ako je znázornené na obrázku nižšie:



Samozrejme, musíme previesť informácie o cookies na reťazec, potom simulovať rozhranie na odosielanie požiadaviek a pripojiť metódu konverzie do reťazca v zdrojovom kóde.

Stiahnutie zdrojového kódu:

Prihlásenie na hypertextový odkaz je viditeľné.

(Koniec)

Skóre

Počet účastníkov1MB+1 prispieť+1 Kolaps dôvod
jgskingstone + 1 + 1 Veľmi silné!

Zobraziť všetky hodnotenia





Predchádzajúci:EF(CodeFirst) + MySQL
Budúci:MSSQL podmienený dotaz WHERE ignoruje podmienku
Zverejnené 14. 5. 2022 10:22:54 |
Okamžitý:Autori sú zakázaní alebo odstránený obsah je automaticky blokovaný
Zverejnené 14. 5. 2022 10:21:26 |
Okamžitý:Autori sú zakázaní alebo odstránený obsah je automaticky blokovaný
Zverejnené 27. 11. 2021 17:31:04 |

.NET Selenium simulácia je stále skvelá, ďakujem.
Zverejnené 5. 7. 2020 12:46:59 |
Zdá sa to dobré
Zverejnené 18. 8. 2020 10:45:14 |
Učenie sa. Usilovne študujem.
Zverejnené 10. 10. 2020 17:34:08 |
Príďte sa učiť, ďakujem
Zverejnené 28. 10. 2020 17:26:20 |
veľmi dobre.  
Zverejnené 3. 11. 2020 0:20:29 |
Ďakujem~~ Nauč sa učiť ~~~~~~~~
Zverejnené 26. 11. 2020 21:26:44 |
Ďakujem LZ za zdieľanie
Zverejnené 24. 1. 2021 3:02:19 |
Prečo musíš odpovedať, aby si to videl?
Zverejnené 6. 3. 2021 20:49:30 |
1111111111111111
Zverejnené 2. 5. 2021 20:12:35 |
Učenie sa. Usilovne študujem.
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com