Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 177007|Svar: 27

[Kilde] .Net/C# Selenium automatiserede tests får cookie-værdier

[Kopier link]
Opslået på 05/07/2020 11.44.34 | | | |
Efterspørgsel

Da simuleringsanmodningen om login er for kompliceret, ønsker vi at bruge Selenium til at åbne Google Chrome for at få cookie-værdien efter login, og derefter overføre cookieindholdet for at anmode om det relevante interface på hjemmesiden for at automatisere testen.

Selen

Selenium er et værktøj til testning af webapplikationer. Selenium-tests kører direkte i browseren, som om en rigtig bruger udførte det. Understøttede browsere inkluderer IE (7, 8, 9, 10, 11), Mozilla Firefox, Safari, Google Chrome, Opera osv. De vigtigste funktioner i dette værktøj inkluderer: Browserkompatibilitetstest – test din applikation for at se, om den fungerer godt på forskellige browsere og operativsystemer. Testsystemfunktionalitet – Skab regressionstests for at verificere softwarefunktionalitet og brugerkrav. Den understøtter automatisk registrering af handlinger og automatisk generering af testscripts på forskellige sprog såsom .Net, Java, Perl osv.

Lad os først oprette et nyt C#-konsolprojekt med projektnavnet "chrome-cookie-demo", og .NET framework-versionen er 4.7.2.

Nuget-kommandoen er som følger:

Efter installationen af Selenium.WebDriver.ChromeDriver vil en chromedriver.exe-fil blive genereret i projektets debug-mappe.
Selenium.WebDriver forstås som et abstrakt interface, og hver browser implementerer dette interface alene; Selenium.WebDriver kalder Selenium.WebDriver.ChromeDriver(chromedriver.exe), chromedriver.exe starter den native installerede Google Chrome i henhold til de opnåede parametre og udfører derefter den tilsvarende operation.

Selvfølgelig er der en forudsætning,Computeren skal have Google Chrome installeret

Koden er som følger:

Fejlen er som følger:


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



Det betyder, at den nuværende driver ikke understøtter version 83 af Google Chrome, tjek den version, der er installeret på maskinen, som følger:


(Version 71.0.3578.98)

At opgradere din native Google Chrome og genstarte den vil løse problemet (eller installere den browserversion, der opfylder kravene).

Vi prøver at genkøre chrome-cookie-demo-projektet og finder ud af, at siden kan åbnes normalt, men,Websiden er ikke logget ind。 Når du klikker på browseren for at åbne dette site, er status logget ind.

Løsningen er at sætte parameteren user-data-dir med følgende kode:

Vi genstarter programmet og får følgende fejl:

Ubehandlet undtagelse: OpenQA.Selenium.WebDriverUndtagelse: ugyldigt argument: brugerdatakataloget er allerede i brug, angiv venligst en unik værdi for --user-data-dir-argumentet, eller brug ikke -- user-data-dir
   på OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
   på OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary'2 parametre)
   I OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities)
   I OpenQA.Selenium.Remote.RemoteWebDriver: ctor(ICommandExecutor kommandoExecutor, ICapabilities ønskedeKapabiliteter)
   I OpenQA.Selenium.Chrome.ChromeDriver: ctor(ChromeDriverService-tjeneste, ChromeOptions-muligheder, TimeSpan-kommandoTimeout)
   I OpenQA.Selenium.Chrome.ChromeDriver: ctor (ChromeDriverService-tjeneste, ChromeOptions-muligheder)
   I chrome_cookie_demo. Program.Main(String[] args) Placering C:\Users\itsvse_pc\source\repos\chrome-cookie-demo\Program.cs chrome-cookie-demo\: linjenummer 36

Groft sagt er mappen blevet optaget, så udskift den venligst, løsningen:Luk din åbne Google Chrome og brug brugerdatamappen til programmet "chrome-cookie-demo", vi har skrevet

Få webcookies

driver.manage().getCookies();   Returner listen over alle cookies
driver.manage().getCookieNamed(arg0);  Returner specifik cookie efter navn
driver.manage().addCookie(arg0);   Opret og tilføj cookien
driver.manage().deleteCookie(arg0);  Slet specifik cookie
driver.manage().deleteCookieNamed(arg0); Slet specifik cookie efter navn
driver.manage().deleteAllCookies();  Slet alle cookies

Dokumentation:Hyperlink-login er synlig.

Vi tester for at få alle webcookies

Opdagelse,Du kan læse cookieoplysningerne på "HttpOnly", som vist i figuren nedenfor:



Selvfølgelig skal vi konvertere cookie-informationen til en streng og derefter simulere anmodningsindsendelsesgrænsefladen og vedhæfte metoden til at konvertere den til en streng i kildekoden.

Kildekode-download:

Hyperlink-login er synlig.

(Slut)

Score

Antal deltagere1MB+1 bidrage+1 Sammenbrud årsag
jgskingstone + 1 + 1 Meget kraftfuldt!

Se alle vurderinger





Tidligere:EF(CodeFirst) + MySQL
Næste:MSSQL betinget forespørgsel HVOR ignorerer betingelsen
Opslået på 14/05/2022 10.22.54 |
Lynhurtig:Forfattere bliver udelukket eller fjernet indhold blokeres automatisk
Opslået på 14/05/2022 10.21.26 |
Lynhurtig:Forfattere bliver udelukket eller fjernet indhold blokeres automatisk
Opslået på 27/11/2021 17.31.04 |

.NET Selenium-simuleringen er stadig fantastisk, tak.
Opslået på 05/07/2020 12.46.59 |
Det virker godt
Opslået på 18/08/2020 10.45.14 |
Læring. Studerer flittigt.
Opslået på 10/10/2020 17.34.08 |
Kom og lær, tak
Opslået på 28/10/2020 17.26.20 |
Meget god.  
Opslået på 03/11/2020 00.20.29 |
Tak~~ Lær at lære ~~~~~~~~
Opslået på 26/11/2020 21.26.44 |
Tak LZ for at dele
Opslået på 24/01/2021 03.02.19 |
Hvorfor skal du svare for at se det?
Opslået på 06/03/2021 20.49.30 |
1111111111111111
Opslået på 02/05/2021 20.12.35 |
Læring. Studerer flittigt.
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com