Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 177007|Odpověď: 27

[Zdroj] .Net/C# Automatizované testy Selenium získávají hodnoty cookies

[Kopírovat odkaz]
Zveřejněno 05.07.2020 11:44:34 | | | |
Poptávka

Protože je simulační požadavek na přihlášení příliš složitý, chceme použít Selenium k otevření Google Chrome, abychom získali hodnotu cookie po přihlášení, a poté přenést obsah cookie, abychom si vyžádali příslušné rozhraní webu pro automatizaci testu.

Selen

Selenium je nástroj pro testování webových aplikací. Testy Selenium běží přímo v prohlížeči, jako by je dělal skutečný uživatel. Podporované prohlížeče zahrnují IE (7, 8, 9, 10, 11), Mozilla Firefox, Safari, Google Chrome, Opera a další. Hlavní funkce tohoto nástroje zahrnují: Testování kompatibility prohlížečů – otestujte svou aplikaci, zda funguje dobře v různých prohlížečích a operačních systémech. Testovací funkčnost systému – Vytvářet regresní testy pro ověření funkčnosti softwaru a požadavků uživatele. Podporuje automatické zaznamenávání akcí a automatické generování testovacích skriptů v různých jazycích, jako jsou .Net, Java, Perl atd.

Nejprve vytvoříme nový C# konzolový projekt s názvem projektu "chrome-cookie-demo" a verze .NET frameworku je 4.7.2.

Příkaz nuget je následující:

Po instalaci Selenium.WebDriver.ChromeDriver bude v adresáři pro ladění projektů vygenerován chromedriver.exe soubor.
Selenium.WebDriver je chápán jako abstraktní rozhraní, a poté každý prohlížeč toto rozhraní implementuje samostatně. Selenium.WebDriver zavolá Selenium.WebDriver.ChromeDriver(chromedriver.exe), chromedriver.exe spustí nativně nainstalovaný Google Chrome podle získaných parametrů a poté provede odpovídající operaci.

Samozřejmě je tu předpoklad,Počítač musí mít nainstalovaný Google Chrome

Kód je následující:

Chyba je následující:


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



To znamená, že aktuální ovladač nepodporuje verzi 83 Google Chrome, zkontrolujte verzi nainstalovanou na počítači následovně:


(Verze 71.0.3578.98)

Aktualizace vašeho nativního Google Chrome a jeho restartování problém opraví (nebo nainstalujte verzi prohlížeče, která splňuje požadavky).

Snažíme se znovu spustit demo projekt chrome-cookie a zjistíme, že stránka se dá otevřít normálně, ale,Webová stránka není přihlášena。 Když kliknete na prohlížeč a otevřete tuto stránku, stav je přihlášen.

Řešením je nastavit parametr user-data-dir pomocí následujícího kódu:

Program restartujeme a zobrazí se následující chyba:

Nezpracovaná výjimka: OpenQA.Selenium.WebDriverVýjimka: neplatný argument: adresář uživatelských dat je již v používání, prosím zadejte unikátní hodnotu pro --user-data-dir argument, nebo nepoužívejte -- user-data-dir
   at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
   at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, parametry Dictionary'2)
   In OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities)
   V OpenQA.Selenium.Remote.RemoteWebDriver: ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities)
   V OpenQA.Selenium.Chrome.ChromeDriver: ctor(ChromeDriverService služba, možnosti ChromeOptions, pří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: řádek číslo 36

Zhruba řečeno, složka byla obsazená, prosím ji nahraďte, řešení:Zavřete otevřený Google Chrome a použijte složku uživatelských dat pro program "chrome-cookie-demo", který jsme napsali

Získejte webové cookies

driver.manage().getCookies();   Vrátit seznam všech cookies
driver.manage().getCookieNamed(arg0);  Vraťte konkrétní cookie podle názvu
driver.manage().addCookie(arg0);   Vytvořte a přidejte cookie
driver.manage().deleteCookie(arg0);  Smazat konkrétní cookie
driver.manage().deleteCookieNamed(arg0); Smazat konkrétní cookie podle názvu
driver.manage().deleteAllCookies();  Smažte všechny cookies

Dokumentace:Přihlášení k hypertextovému odkazu je viditelné.

Testujeme, abychom získali všechny webové cookies

Objev,Informace o cookies si můžete přečíst na "HttpOnly", jak je znázorněno na obrázku níže:



Samozřejmě musíme převést informace o cookies na řetězec, pak simulovat rozhraní pro odesílání požadavků a připojit metodu převodu do řetězce ve zdrojovém kódu.

Stažení zdrojového kódu:

Přihlášení k hypertextovému odkazu je viditelné.

(Konec)

Partitura

Počet účastníků1MB+1 přispět+1 Zhroucení důvod
jgskingstone + 1 + 1 Velmi silné!

Zobrazit všechna hodnocení





Předchozí:EF(CodeFirst) + MySQL
Další:MSSQL podmíněný dotaz WHERE ignoruje tuto podmínku
Zveřejněno 14.05.2022 10:22:54 |
Pobídnout:Autoři jsou zabanováni nebo odstraněný obsah je automaticky blokován
Zveřejněno 14.05.2022 10:21:26 |
Pobídnout:Autoři jsou zabanováni nebo odstraněný obsah je automaticky blokován
Zveřejněno 27.11.2021 17:31:04 |

.NET Selenium simulace je stále skvělá, děkuji.
Zveřejněno 05.07.2020 12:46:59 |
Vypadá to dobře
Zveřejněno 18.08.2020 10:45:14 |
Učení. Pilně studuji.
Zveřejněno 10.10.2020 17:34:08 |
Přijďte se učit, děkuji
Zveřejněno 28.10.2020 17:26:20 |
Velmi dobře.  
Zveřejněno 03.11.2020 0:20:29 |
Děkuji~~ Uč se učit ~~~~~~~~
Zveřejněno 26.11.2020 21:26:44 |
Díky LZ za sdílení
Zveřejněno 24.01.2021 3:02:19 |
Proč musíte odpovídat, abyste to viděli?
Zveřejněno 06.03.2021 20:49:30 |
1111111111111111
Zveřejněno 02.05.2021 20:12:35 |
Učení. Pilně studuji.
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com