Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 177007|Atbildi: 27

[Avots] .Net/C# Selēna automatizētie testi iegūst sīkfailu vērtības

[Kopēt saiti]
Publicēts 05.07.2020 11:44:34 | | | |
Pieprasījums

Tā kā simulācijas pieteikšanās pieprasījums ir pārāk sarežģīts, mēs vēlamies izmantot Selenium, lai atvērtu Google Chrome, lai iegūtu sīkfaila vērtību pēc pieteikšanās, un pēc tam pārnest sīkfaila saturu, lai pieprasītu attiecīgo vietnes saskarni, lai automatizētu testu.

Selēns

Selēns ir rīks tīmekļa lietojumprogrammu testēšanai. Selēna testi darbojas tieši pārlūkprogrammā, it kā to darītu reāls lietotājs. Atbalstītās pārlūkprogrammas ir IE (7, 8, 9, 10, 11), Mozilla Firefox, Safari, Google Chrome, Opera utt. Šī rīka galvenās iezīmes ietver: Pārlūkprogrammas saderības pārbaude - pārbaudiet savu lietojumprogrammu, lai redzētu, vai tā labi darbojas dažādās pārlūkprogrammās un operētājsistēmās. Sistēmas funkcionalitātes pārbaude — izveidojiet regresijas testus, lai pārbaudītu programmatūras funkcionalitāti un lietotāju prasības. Tas atbalsta automātisku darbību ierakstīšanu un automātisku testa skriptu ģenerēšanu dažādās valodās, piemēram, .Net, Java, Perl utt.

Pirmkārt, izveidosim jaunu C# konsoles projektu ar projekta nosaukumu "chrome-cookie-demo" un .NET framework versija ir 4.7.2.

Nuget komanda ir šāda:

Pēc Selenium.WebDriver.ChromeDriver instalēšanas projekta atkļūdošanas direktorijā tiks ģenerēts chromedriver.exe fails.
Selenium.WebDriver tiek saprasts kā abstrakts interfeiss, un tad katra pārlūkprogramma pati īsteno šo saskarni, Selenium.WebDriver izsauks Selenium.WebDriver.ChromeDriver(chromedriver.exe), chromedriver.exe sāks sākotnēji instalēto Google Chrome saskaņā ar iegūtajiem parametriem un pēc tam veiks atbilstošo darbību.

Protams, ir priekšnoteikums,Datorā jābūt instalētai pārlūkprogrammai Google Chrome

Kods ir šāds:

Kļūda ir šāda:


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



Tas nozīmē, ka pašreizējais draiveris neatbalsta Google Chrome 83. versiju, pārbaudiet ierīcē instalēto versiju šādi:


(Versija 71.0.3578.98)

Jauninot vietējo Google Chrome un restartējot to, tas tiks novērsts (vai instalēt pārlūkprogrammas versiju, kas atbilst prasībām).

Mēs cenšamies atkārtoti palaist chrome-cookie-demo projektu un konstatēt, ka vietni var atvērt normāli, bet,Tīmekļa lapa nav pieteikusies。 Noklikšķinot uz pārlūkprogrammas, lai atvērtu šo vietni, statuss ir pieteicies.

Risinājums ir iestatīt parametru user-data-dir ar šādu kodu:

Mēs restartējam programmu un saņemam šādu kļūdu:

Neapstrādāts izņēmums: OpenQA.Selenium.WebDriverIzņēmums: nederīgs arguments: lietotāja datu direktorijs jau tiek izmantots, lūdzu, norādiet unikālu vērtību argumentam --user-data-dir vai neizmantojiet -- user-data-dir
   vietnē OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response ErrorResponse)
   pie OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary'2 parametri)
   OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities)
   In OpenQA.Selenium.Remote.RemoteWebDriver: ctor(ICommandExecutor komandaIzpildītājs, ICapabilities desiredCapabilities)
   In OpenQA.Selenium.Chrome.ChromeDriver: ctor(ChromeDriverService pakalpojums, ChromeOptions opcijas, TimeSpan komandaTimeout)
   In OpenQA.Selenium.Chrome.ChromeDriver: ctor(ChromeDriverService pakalpojums, ChromeOptions opcijas)
   chrome_cookie_demo. gadā. Program.Main(String[] args) Atrašanās vieta C:\Users\itsvse_pc\source\repos\chrome-cookie-demo\chrome-cookie-demo\Program.cs: rindas numurs 36

Aptuveni runājot, mape ir aizņemta, lūdzu, nomainiet to, risinājums:Aizveriet atvērto Google Chrome un izmantojiet lietotāja datu mapi mūsu rakstītajai programmai "chrome-cookie-demo"

Tīmekļa sīkfailu iegūšana

driver.manage().getCookies();   Atgriezt visu sīkdatņu sarakstu
driver.manage().getCookieNamed(arg0);  Atgriezt konkrētu sīkfailu atbilstoši nosaukumam
driver.manage().addCookie(arg0);   Sīkdatnes izveide un pievienošana
driver.manage().deleteCookie(arg0);  Dzēst konkrētu sīkfailu
driver.manage().deleteCookieNamed(arg0); Dzēst konkrēto sīkfailu saskaņā ar nosaukumu
driver.manage().deleteAllCookies();  Dzēst visas sīkdatnes

Dokumentācija:Hipersaites pieteikšanās ir redzama.

Mēs pārbaudām, lai iegūtu visas tīmekļa sīkdatnes

Atklāšana,Jūs varat izlasīt sīkdatņu informāciju vietnē "HttpOnly", kā parādīts attēlā:



Protams, mums ir jāpārvērš sīkfailu informācija virknē un pēc tam jāsimulē pieprasījuma iesniegšanas saskarne un jāpievieno metode, kā to pārvērst par virkni avota kodā.

Avota koda lejupielāde:

Hipersaites pieteikšanās ir redzama.

(Beigas)

Vērtējums

Dalībnieku skaits1MB+1 Veicināt+1 Sakļaut iemesls
jgskingstone + 1 + 1 Ļoti spēcīgs!

Skatīt visus vērtējumus





Iepriekšējo:EF (CodeFirst) + MySQL
Nākamo:MSSQL nosacījuma vaicājums WHERE ignorē nosacījumu
Publicēts 14.05.2022 10:22:54 |
Uzvedne:Autori tiek aizliegti vai noņemtais saturs tiek automātiski bloķēts
Publicēts 14.05.2022 10:21:26 |
Uzvedne:Autori tiek aizliegti vai noņemtais saturs tiek automātiski bloķēts
Publicēts 27.11.2021 17:31:04 |

.NET selēna simulācija joprojām ir lieliska, paldies.
Publicēts 05.07.2020 12:46:59 |
Tas šķiet labi
Publicēts 18.08.2020 10:45:14 |
Mācīšanās. Smagi mācās.
Publicēts 10.10.2020 17:34:08 |
Nāciet un mācieties, paldies
Publicēts 28.10.2020 17:26:20 |
ļoti labi.  
Publicēts 03.11.2020 00:20:29 |
Paldies~~ Iemācieties mācīties ~~~~~~~~
Publicēts 26.11.2020 21:26:44 |
Paldies LZ par dalīšanos
Publicēts 24.01.2021 03:02:19 |
Kāpēc jums ir jāatbild, lai to redzētu?
Publicēts 06.03.2021 20:49:30 |
1111111111111111
Publicēts 02.05.2021 20:12:35 |
Mācīšanās. Smagi mācās.
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com