Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 177007|Válasz: 27

[Forrás] .Net/C# A Selenium automatizált tesztek cookie értékeket kapnak

[Linket másol]
Közzétéve 2020. 07. 05. 11:44:34 | | | |
Kereslet

Mivel a szimulációs bejelentkezési kérés túl bonyolult, a Seleniumot szeretnénk használni, hogy megnyissamme a Google Chrome-ot, hogy megkapjuk a cookie értéket bejelentkezés után, majd a cookie tartalmát hordozzuk, hogy a weboldal megfelelő felületét kérjük a teszt automatizálásához.

Szelénium

A Selénium egy webalkalmazás-tesztelési eszköz. A szeléntesztek közvetlenül a böngészőben futnak, mintha egy valódi felhasználó tenné. A támogatott böngészők közé tartozik az IE (7, 8, 9, 10, 11), a Mozilla Firefox, Safari, Google Chrome, Opera stb. Az eszköz fő funkciói közé tartozik: böngészőkompatibilitási tesztelés – teszteld az alkalmazásodat, hogy jól működik-e különböző böngészőken és operációs rendszereken. Tesztrendszer funkcionalitás – Regressziós tesztek létrehozása a szoftver funkcionalitásának és felhasználói igényeinek ellenőrzésére. Támogatja az automatikus műveletek rögzítését és tesztszkriptek automatikus generálását különböző nyelveken, mint például .Net, Java, Perl stb.

Először is hozzunk létre egy új C# konzolprojektet "chrome-cookie-demo" néven, a .NET keretrendszer verziója pedig 4.7.2.

A nuget parancs a következő:

A Selenium.WebDriver.ChromeDriver telepítése után egy chromedriver.exe fájl generálódik a projekt hibakeresési könyvtárban.
A Selenium.WebDriver egy absztrakt felületként értelmezhető, majd minden böngésző önállóan valósítja meg ezt az interfészt, a Selenium.WebDriver hívja a Selenium.WebDriver.ChromeDriver(chromedriver.exe) nevű felületet, chromedriver.exe a megszerzett paraméterek szerint elindítja a natiálisan telepített Google Chrome-ot, majd végrehajtja a megfelelő műveletet.

Természetesen van egy előfeltétel,A számítógépen biztosan Google Chrome van telepítve

A kódex a következő:

A hiba a következő:


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



Ez azt jelenti, hogy a jelenlegi illesztőprogram nem támogatja a Google Chrome 83-as verzióját, ellenőrizd a gépen telepített verziót a következőként:


(71.0.3578.98 verzió)

Ha frissíted a natív Google Chrome-odat és újraindítod, az megoldja (vagy telepíted a böngészőverziót, ami megfelel a követelményeknek).

Megpróbáljuk újraindítani a chrome-cookie-demo projektet, és megtaláljuk, hogy az oldal normálisan meg lehet nyitni, de,Az oldal nincs bejelentkezve。 Amikor a böngészőre kattint az oldal megnyitásához, az állapot be van jelentkezve.

A megoldás az, hogy a user-data-dir paramétert a következő kóddal állítsuk be:

Újraindítjuk a programot, és a következő hibát kapjuk:

Kezeletlen kivétel: OpenQA.Selenium.WebDriverException: érvénytelen argument: a felhasználói adatkönyvtár már használatban van, kérjük, adjon meg egy egyedi értéket a --user-data-dir argumentumhoz, vagy ne használja -- user-data-dir
   az OpenQA.Selenium.Remote.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
   az OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary'2 parameters)
   Az OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilitys desiredCapabilities) fájljain
   Az OpenQA.Selenium.Remote.RemoteWebDriver fájlban: ctor(ICommandExecutor commandExecutor, ICapabilitys desiredCapabilities)
   OpenQA.Selenium.Chrome.ChromeDriver fájlban: ctor(ChromeDriverService service, ChromeOptions options, TimeSpan commandTimeout)
   OpenQA.Selenium.Chrome.ChromeDriver fájlban: ctor (ChromeDriverService szolgáltatás, ChromeOptions opciók)
   chrome_cookie_demo-ben. Program.Main(String[] args) Location C:\Users\itsvse_pc\source\repos\chrome-cookie-demo\chrome-cookie-demo\Program.cs: 36-os sor

Nagyjából elfoglalt a mappa foglalt, kérem, cserélje ki, a megoldás:Zárd be a nyitott Google Chrome-odat, és használd a felhasználói adat mappát a "chrome-cookie-demo" programhoz, amit írtunk

Webes sütikek

driver.manage().getCookies();   Küldd vissza az összes süti listát
driver.manage().getCookieNamed(arg0);  Adott süti visszaküldése a név szerint
driver.manage().addCookie(arg0);   Hozd létre és add hozzá a sütit
driver.manage().deleteCookie(arg0);  Töröld a konkrét sütit
driver.manage().deleteCookieNamed(arg0); Töröld a konkrét cookie-t a név szerint
driver.manage().deleteAllCookies();  Töröld az összes sütit.

Dokumentáció:A hiperlink bejelentkezés látható.

Minden webes sütit tesztelünk

Felfedezés,A "HttpOnly" süti információit elolvashatod, ahogy az alábbi ábrán látható:



Természetesen át kell alakítanunk a cookie információit egy stringpé, majd szimulálni kell a kérésbeküldési felületet, és csatolni kell a konvertálási módszert a forráskódban lévő stringhez.

Forráskód letöltés:

A hiperlink bejelentkezés látható.

(Vége)

Pontszám

A résztvevők száma1MB+1 hozzájárul+1 Összeomlás ok
jgskingstone + 1 + 1 Nagyon erős!

Minden értékelés megtekintése





Előző:EF(CodeFirst) + MySQL
Következő:Az MSSQL feltételes lekérdezés WHERE figyelmen kívül hagyja a feltételt
Közzétéve 2022. 05. 14. 10:22:54 |
Haladéktalan:A szerzőket kitiltják vagy eltávolítják, a tartalmak automatikusan blokkolódnak
Közzétéve 2022. 05. 14. 10:21:26 |
Haladéktalan:A szerzőket kitiltják vagy eltávolítják, a tartalmak automatikusan blokkolódnak
Közzétéve 2021. 11. 27. 17:31:04 |

A .NET Selénium szimuláció még mindig fantasztikus, köszönöm.
Közzétéve 2020. 07. 05. 12:46:59 |
Jól tűnik
Közzétéve 2020. 08. 18. 10:45:14 |
Tanulás. Keményen tanulok.
Közzétéve 2020. 10. 10. 17:34:08 |
Gyere, tanulj, köszönöm
Közzétéve 2020. 10. 28. 17:26:20 |
nagyon jó.  
Közzétéve 2020. 11. 03. 0:20:29 |
Köszönöm~~ Tanulj meg ~~~~~~~~
Közzétéve 2020. 11. 26. 21:26:44 |
Köszönöm LZ, hogy megosztottad
Közzétéve 2021. 01. 24. 3:02:19 |
Miért kell válaszolnod ahhoz, hogy lásd?
Közzétéve 2021. 03. 06. 20:49:30 |
1111111111111111
Közzétéve 2021. 05. 02. 20:12:35 |
Tanulás. Keményen tanulok.
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com