See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 177007|Vastuse: 27

[Allikas] .Net/C# Seleniumi automatiseeritud testid saavad küpsiste väärtused

[Kopeeri link]
Postitatud 05.07.2020 11:44:34 | | | |
Nõudlus

Kuna simulatsiooni sisselogimispäring on liiga keeruline, tahame kasutada Seleniumi, et avada Google Chrome ja saada küpsise väärtus pärast sisselogimist, ning seejärel kanda küpsise sisu, et taotleda veebisaidi vastavat liidest testi automatiseerimiseks.

Seleen

Selen on tööriist veebirakenduste testimiseks. Seleeni testid toimuvad otse brauseris, justkui teeks seda päris kasutaja. Toetatud brauserid on IE (7, 8, 9, 10, 11), Mozilla Firefox, Safari, Google Chrome, Opera jne. Selle tööriista peamised funktsioonid hõlmavad: brauseri ühilduvuse testimine – testige oma rakendust, et näha, kas see töötab hästi erinevatel brauseritel ja operatsioonisüsteemidel. Test süsteemi funktsionaalsus – Loo regressiooniteste, et kontrollida tarkvara funktsionaalsust ja kasutaja nõudeid. See toetab automaatset tegevuste salvestamist ja testskriptide automaatset genereerimist erinevates keeltes nagu .Net, Java, Perl jne.

Kõigepealt loome uue C# konsooliprojekti projekti nimega "chrome-cookie-demo" ja .NET raamistiku versioon on 4.7.2.

Nuget käsk on järgmine:

Pärast Selenium.WebDriver.ChromeDriver paigaldamist genereeritakse projekti silumiskataloogis chromedriver.exe fail.
Selenium.WebDriverit mõistetakse kui abstraktset liidest, ja iga brauser rakendab selle liidese iseseisvalt, Selenium.WebDriver kutsub Selenium.WebDriver.ChromeDriver(chromedriver.exe) chromedriver.exe käivitab natiiviks paigaldatud Google Chrome'i vastavalt saadud parameetritele ning seejärel sooritab vastava toimingu.

Loomulikult on olemas eeltingimus,Arvutis peab olema Google Chrome installitud

Kood on järgmine:

Viga on järgmine:


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



See tähendab, et praegune draiver ei toeta Google Chrome'i versiooni 83, kontrollige arvutis paigaldatud versiooni järgmiselt:


(Versioon 71.0.3578.98)

Google Chrome'i natiivse uuendamine ja taaskäivitamine parandab probleemi (või paigalda brauseriversioon, mis vastab nõuetele).

Proovime uuesti käivitada chrome-cookie-demo projekti ja leiame, et saiti saab tavapäraselt avada, kuid,Veebileht ei ole sisse logitud。 Kui klõpsate brauseril selle saidi avamiseks, on staatus sisse logitud.

Lahendus on seada kasutaja-data-dir parameetri järgmise koodiga:

Taaskäivitame programmi ja saame järgmise veateate:

Käsitlemata erand: OpenQA.Selenium.WebDriverException: kehtetu argument: kasutajaandmete kataloog on juba kasutuses, palun määrake unikaalne väärtus --user-data-dir argumendile või ärge kasutage -- user-data-dir
   aadressil OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
   aadressil OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary'2 parameetrid)
   OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilitys desiredCapabilities)
   OpenQA.Selenium.Remote.RemoteWebDriveris: ctor(ICommandExecutor commandExecutor, ICapabilitys desiredCapabilities)
   OpenQA.Selenium.Chrome.ChromeDriveris: ctor(ChromeDriverService service, ChromeOptions options, TimeSpan commandTimeout)
   OpenQA.Selenium.Chrome.ChromeDriveris: ctor (ChromeDriverService teenus, ChromeOptions valikud)
   chrome_cookie_demo. aastal Program.Main(String[] args) Asukoht C:\Users\itsvse_pc\source\repos\chrome-cookie-demo\chrome-cookie-demo\Program.cs: rida number 36

Umbkaudu öeldes on kaust hõivatud, palun asendage see, lahendus:Sulge oma avatud Google Chrome ja kasuta kasutajaandmete kausta programmi "chrome-cookie-demo" jaoks, mille me kirjutasime

Hangi veebiküpsised

driver.manage().getCookies();   Tagasta kõigi küpsiste nimekiri
driver.manage().getCookieNamed(arg0);  Tagasta konkreetne küpsis vastavalt nimele
driver.manage().addCookie(arg0);   Loo ja lisa küpsis
driver.manage().deleteCookie(arg0);  Kustuta konkreetne küpsis
driver.manage().deleteCookieNamed(arg0); Kustuta konkreetne küpsis vastavalt nimele
driver.manage().deleteAllCookies();  Kustuta kõik küpsised

Dokumentatsioon:Hüperlingi sisselogimine on nähtav.

Me testime kõiki veebiküpsiseid

Avastus,Saate lugeda küpsiste infot "HttpOnly", nagu alloleval joonisel näidatud:



Muidugi peame küpsiste info stringiks teisendama, seejärel simuleerima päringute esitamise liidest ja lisama selle teisendamise meetodi lähtekoodi stringile.

Lähtekoodi allalaadimine:

Hüperlingi sisselogimine on nähtav.

(Lõpp)

Skoor

Osalejate arv1MB+1 Aitavad kaasa+1 Ahenda põhjus
jgskingstone + 1 + 1 Väga võimas!

Vaata kõiki hinnanguid





Eelmine:EF(CodeFirst) + MySQL
Järgmine:MSSQL tingimuspäring KUS ignoreerib tingimust
Postitatud 14.05.2022 10:22:54 |
Kiire:Autorid keelatakse või eemaldatakse sisu automaatselt blokeeritakse
Postitatud 14.05.2022 10:21:26 |
Kiire:Autorid keelatakse või eemaldatakse sisu automaatselt blokeeritakse
Postitatud 27.11.2021 17:31:04 |

.NET seleeni simulatsioon on endiselt suurepärane, aitäh.
Postitatud 05.07.2020 12:46:59 |
See tundub hea
Postitatud 18.08.2020 10:45:14 |
Õppimine. Õpin kõvasti.
Postitatud 10.10.2020 17:34:08 |
Tule ja õpi, aitäh
Postitatud 28.10.2020 17:26:20 |
Väga hea.  
Postitatud 03.11.2020 00:20:29 |
Aitäh~~ Õpi õppima ~~~~~~~~
Postitatud 26.11.2020 21:26:44 |
Aitäh, LZ, et jagasid
Postitatud 24.01.2021 03:02:19 |
Miks pead vastama, et seda näha?
Postitatud 06.03.2021 20:49:30 |
1111111111111111
Postitatud 02.05.2021 20:12:35 |
Õppimine. Õpin kõvasti.
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com