Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 177007|Vastaus: 27

[Lähde] .Net/C# Selenium-automaattiset testit saavat evästearvot

[Kopioi linkki]
Julkaistu 5.7.2020 11.44.34 | | | |
Kysyntä

Koska simulaatiopyyntö kirjautumisesta on liian monimutkainen, haluamme käyttää Seleniumia avataksemme Google Chromen saadaksemme evästearvon kirjautumisen jälkeen, ja sitten kantaa evästesisältöä pyytääksemme verkkosivuston relevanttia käyttöliittymää testin automatisointia varten.

Seleeni

Selenium on työkalu verkkosovellusten testaukseen. Seleenitestit suoritetaan suoraan selaimessa, ikään kuin oikea käyttäjä tekisi sen. Tuettuja selaimia ovat IE (7, 8, 9, 10, 11), Mozilla Firefox, Safari, Google Chrome, Opera jne. Tämän työkalun pääominaisuuksia ovat: Selaimen yhteensopivuustestaus – testaa sovellustasi nähdäksesi, toimiiko se hyvin eri selaimissa ja käyttöjärjestelmissä. Testaa järjestelmän toiminnallisuus – Luo regressiotestejä ohjelmiston toiminnallisuuden ja käyttäjän vaatimusten varmistamiseksi. Se tukee toimintojen automaattista tallennusta ja testiskriptien automaattista generointia eri kielillä, kuten .Net, Java, Perl jne.

Ensin luodaan uusi C#-konsoliprojekti projektin nimellä "chrome-cookie-demo" ja .NET framework-versio on 4.7.2.

Nuget-komento on seuraava:

Selenium.WebDriver.ChromeDriverin asennuksen jälkeen projektin debug-hakemistossa luodaan chromedriver.exe-tiedosto.
Selenium.WebDriver ymmärretään abstraktina rajapintana, ja sitten jokainen selain toteuttaa tämän rajapinnan itsenäisesti, Selenium.WebDriver kutsuu Selenium.WebDriver.ChromeDriver(chromedriver.exe), chromedriver.exe käynnistää natiivisti asennetun Google Chromen saatujen parametrien mukaisesti ja suorittaa vastaavan toiminnon.

Tietenkin on olemassa edellytys,Tietokoneessa täytyy olla Google Chrome asennettuna

Koodi on seuraava:

Virhe on seuraava:


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



Tämä tarkoittaa, että nykyinen ajuri ei tue Google Chrome -versiota 83, tarkista koneelle asennettu versio seuraavasti:


(Versio 71.0.3578.98)

Päivittämällä natiivin Google Chromen ja käynnistämällä sen uudelleen ongelman (tai asentamalla selaimen version, joka täyttää vaatimukset).

Yritämme ajaa uudelleen chrome-eväste-demoprojektin ja huomaamme, että sivusto voidaan avata normaalisti, mutta,Verkkosivu ei ole kirjautuneena sisään。 Kun klikkaat selainta avataksesi tämän sivuston, tila on kirjautunut sisään.

Ratkaisu on asettaa user-data-dir -parametri seuraavalla koodilla:

Käynnistämme ohjelman uudelleen ja saamme seuraavan virheen:

Käsittelemätön poikkeus: OpenQA.Selenium.WebDriverException: virheellinen argumentti: käyttäjätietohakemisto on jo käytössä, määritä yksilöllinen arvo --user-data-dir -argumentille, tai älä käytä -- user-data-dir
   osoitteessa OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
   osoitteessa OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary'2 parametrit)
   OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilitys desiredCapabilities)
   OpenQA.Selenium.Remote.RemoteWebDriverissa: ctor(ICommandExecutor commandExecutor, ICapabilitys desiredCapabilities)
   OpenQA.Selenium.Chrome.ChromeDriverissa: ctor(ChromeDriverService-palvelu, ChromeOptions-asetukset, TimeSpan commandTimeout)
   OpenQA.Selenium.Chrome.ChromeDriverissa: ctor(ChromeDriverService-palvelu, ChromeOptions-asetukset)
   Vuonna chrome_cookie_demo. Program.Main(String[] args) Sijainti C:\Users\itsvse_pc\source\repos\chrome-cookie-demo\chrome-cookie-demo\Program.cs: rivinumero 36

Karkeasti ottaen, kansio on varattu, vaihda se, ratkaisu:Sulje avoin Google Chrome ja käytä käyttäjätietokansiota kirjoittamallemme "chrome-cookie-demo"-ohjelmalle

Hanki verkkoevästeet

driver.manage().getCookies();   Palauta kaikkien keksien lista
driver.manage().getCookieNamed(arg0);  Palauta tietty eväste nimen mukaan
driver.manage().addCookie(arg0);   Luo ja lisää eväste
driver.manage().deleteCookie(arg0);  Poista tietty eväste
driver.manage().deleteCookieNamed(arg0); Poista tietty eväste nimen mukaan
driver.manage().deleteAllCookies();  Poista kaikki evästeet

Dokumentaatio:Hyperlinkin kirjautuminen on näkyvissä.

Testaamme saadaksemme kaikki verkkoevästeet

Löytö,Voit lukea evästetiedot sivustolta "HttpOnly", kuten alla olevassa kuvassa näkyy:



Tietenkin meidän täytyy muuntaa evästetiedot merkkijonoksi, simuloida pyyntöjen lähetysrajapinta ja liittää muunnosmenetelmä lähdekoodin merkkijonoon.

Lähdekoodin lataus:

Hyperlinkin kirjautuminen on näkyvissä.

(Loppu)

Pistetilanne

Osallistujien määrä1MB+1 myötävaikuttaa+1 Romahdus syy
jgskingstone + 1 + 1 Erittäin voimakas!

Katso kaikki arviot





Edellinen:EF(CodeFirst) + MySQL
Seuraava:MSSQL-ehdollinen kysely MISSÄ jättää ehdon huomiotta
Julkaistu 14.5.2022 10.22.54 |
Ripeä:Tekijät bannataan tai poistetaan, sisältö estetään automaattisesti
Julkaistu 14.5.2022 10.21.26 |
Ripeä:Tekijät bannataan tai poistetaan, sisältö estetään automaattisesti
Julkaistu 27.11.2021 17.31.04 |

.NET Selenium-simulaatio on edelleen mahtava, kiitos.
Julkaistu 5.7.2020 12.46.59 |
Vaikuttaa hyvältä
Julkaistu 18.8.2020 10.45.14 |
Oppiminen. Opiskelen ahkerasti.
Julkaistu 10.10.2020 17.34.08 |
Tule oppimaan, kiitos
Julkaistu 28.10.2020 17.26.20 |
Oikein hyvä.  
Julkaistu 3.11.2020 0.20.29 |
Kiitos~~ Opettele oppimaan ~~~~~~~~
Julkaistu 26.11.2020 21.26.44 |
Kiitos LZ:lle, että jaoit kokemuksen
Julkaistu 24.1.2021 3.02.19 |
Miksi sinun täytyy vastata nähdäksesi sen?
Julkaistu 6.3.2021 20.49.30 |
1111111111111111
Julkaistu 2.5.2021 20.12.35 |
Oppiminen. Opiskelen ahkerasti.
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com