Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 177007|Svare: 27

[Kilde] .Net/C# Selenium automatiserte tester henter informasjonskapselverdier

[Kopier lenke]
Publisert på 05.07.2020 11:44:34 | | | |
Etterspørsel

Siden simuleringsforespørselen for innlogging er for komplisert, ønsker vi å bruke Selenium til å åpne Google Chrome for å hente informasjonskapselverdien etter innlogging, og deretter overføre informasjonskapselinnholdet for å be om relevant grensesnitt på nettsiden for å automatisere testen.

Selen

Selenium er et verktøy for testing av webapplikasjoner. Selen-tester kjøres direkte i nettleseren, som om en ekte bruker gjorde det. Støttede nettlesere inkluderer IE (7, 8, 9, 10, 11), Mozilla Firefox, Safari, Google Chrome, Opera, osv. Hovedfunksjonene til dette verktøyet inkluderer: Nettleserkompatibilitetstesting – test applikasjonen din for å se om den fungerer godt på ulike nettlesere og operativsystemer. Testsystemfunksjonalitet – Lag regresjonstester for å verifisere programvarefunksjonalitet og brukerkrav. Den støtter automatisk registrering av handlinger og automatisk generering av testskript i ulike språk som .Net, Java, Perl, osv.

Først, la oss lage et nytt C#-konsollprosjekt med prosjektnavnet "chrome-cookie-demo" og .NET-rammeverksversjonen er 4.7.2.

Nuget-kommandoen er som følger:

Etter installasjonen av Selenium.WebDriver.ChromeDriver vil en chromedriver.exe-fil bli generert i prosjektets feilsøkingsmappe.
Selenium.WebDriver forstås som et abstrakt grensesnitt, og hver nettleser implementerer dette grensesnittet selv, Selenium.WebDriver vil kalle Selenium.WebDriver.ChromeDriver(chromedriver.exe), chromedriver.exe starter den native installerte Google Chrome i henhold til de oppnådde parameterne, og deretter utfører den tilsvarende operasjonen.

Selvfølgelig finnes det en forutsetning,Datamaskinen må ha Google Chrome installert

Koden er som følger:

Feilen er som følger:


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



Dette betyr at den nåværende driveren ikke støtter versjon 83 av Google Chrome, sjekk versjonen som er installert på maskinen slik:


(Versjon 71.0.3578.98)

Å oppgradere din native Google Chrome og starte den på nytt vil løse problemet (eller installere nettleserversjonen som oppfyller kravene).

Vi prøver å kjøre chrome-cookie-demo-prosjektet på nytt og finner ut at siden kan åpnes normalt, men,Nettsiden er ikke logget inn。 Når du klikker på nettleseren for å åpne dette nettstedet, er statusen logget inn.

Løsningen er å sette parameteren user-data-dir med følgende kode:

Vi starter programmet på nytt og får følgende feil:

Ubehandlet unntak: OpenQA.Selenium.WebDriverUnntak: ugyldig argument: brukerdatakatalogen er allerede i bruk, vennligst spesifiser en unik verdi for --user-data-dir-argumentet, eller ikke bruk -- user-data-dir
   på OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
   på OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary'2 parameters)
   I OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities)
   I OpenQA.Selenium.Remote.RemoteWebDriver: ctor(ICommandExecutor kommandoExecutor, ICapabilities ønsketKapasiteter)
   I OpenQA.Selenium.Chrome.ChromeDriver: ctor(ChromeDriverService-tjeneste, ChromeOptions-alternativer, TimeSpan kommandoTimeout)
   I OpenQA.Selenium.Chrome.ChromeDriver: ctor (ChromeDriverService-tjeneste, ChromeOptions-alternativer)
   I chrome_cookie_demo. Program.Main(String[] args) Lokasjon C:\Users\itsvse_pc\source\repos\chrome-cookie-demo\chrome-cookie-demo\Program.cs: linjenummer 36

Grovt sagt er mappen opptatt, vennligst erstatt den, løsningen:Lukk den åpne Google Chrome og bruk brukermappen for programmet "chrome-cookie-demo" vi skrev

Få nettcookies

driver.manage().getCookies();   Returner listen over alle informasjonskapsler
driver.manage().getCookieNamed(arg0);  Returner spesifikk informasjonskapsel etter navn
driver.manage().addCookie(arg0);   Lag og legg til informasjonskapselen
driver.manage().deleteCookie(arg0);  Slett spesifikk informasjonskapsel
driver.manage().deleteCookieNamed(arg0); Slett spesifikk informasjonskapsel etter navn
driver.manage().deleteAllCookies();  Slett alle informasjonskapsler

Dokumentasjon:Innloggingen med hyperkoblingen er synlig.

Vi tester for å få alle nettcookies

Oppdagelse,Du kan lese informasjonskapselinformasjonen til "HttpOnly", som vist i figuren nedenfor:



Selvfølgelig må vi konvertere informasjonskapselinformasjonen til en streng, og deretter simulere forespørselsgrensesnittet, og knytte metoden for å konvertere det til en streng i kildekoden.

Nedlasting av kildekode:

Innloggingen med hyperkoblingen er synlig.

(Slutt)

Score

Antall deltakere1MB+1 bidra+1 Sammenbrudd grunn
jgskingstone + 1 + 1 Veldig kraftig!

Se alle vurderinger





Foregående:EF(CodeFirst) + MySQL
Neste:MSSQL betinget spørring HVOR ignorerer betingelsen
Publisert på 14.05.2022 10:22:54 |
Omgående:Forfattere blir utestengt eller fjernet innhold blokkeres automatisk
Publisert på 14.05.2022 10:21:26 |
Omgående:Forfattere blir utestengt eller fjernet innhold blokkeres automatisk
Publisert på 27.11.2021 17:31:04 |

.NET Selenium-simulering er fortsatt fantastisk, takk.
Publisert på 05.07.2020 12:46:59 |
Det virker bra
Publisert på 18.08.2020 10:45:14 |
Lærer. Studerer hardt.
Publisert på 10.10.2020 17:34:08 |
Kom og lær, takk
Publisert på 28.10.2020 17:26:20 |
veldig bra.  
Publisert på 03.11.2020 00:20:29 |
Takk~~ Lær å lære ~~~~~~~~
Publisert på 26.11.2020 21:26:44 |
Takk LZ for at du delte
Publisert på 24.01.2021 03:02:19 |
Hvorfor må du svare for å se det?
Publisert på 06.03.2021 20:49:30 |
1111111111111111
Publisert på 02.05.2021 20:12:35 |
Lærer. Studerer hardt.
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com