Pelaksanaan Selari di Selenium: Pengendalian Sesi & Ketergantungan TestNG

Isi kandungan:

Anonim

Untuk memahami cara menjalankan skrip secara selari, mari kita fahami terlebih dahulu

Mengapa kita memerlukan Pengendalian Sesi?

Semasa pelaksanaan ujian, Selenium WebDriver harus berinteraksi dengan penyemak imbas sepanjang masa untuk melaksanakan perintah yang diberikan. Pada masa pelaksanaan, ada kemungkinan juga, sebelum pelaksanaan saat ini selesai, orang lain mulai menjalankan skrip lain, di mesin yang sama dan pada jenis penyemak imbas yang sama.

Dalam keadaan seperti itu, kita memerlukan mekanisme di mana dua pelaksanaan kita yang berbeza tidak boleh saling bertindih antara satu sama lain. Ini dapat dicapai dengan menggunakan Pengendalian Sesi di Selenium.

Bagaimana mencapai Pengendalian Sesi di Selenium WebDriver?

Sekiranya anda memeriksa kod sumber Selenium WebDriver, anda akan menemui pemboleh ubah yang dinamakan sebagai 'sessionId'. Setiap kali kita membuat contoh baru objek WebDriver, 'sessionId' baru akan dihasilkan dan dilampirkan dengan Pemacu Firefox / Chrome / IE tertentu ().

Oleh itu, apa sahaja yang kita lakukan selepas ini akan dilaksanakan hanya pada sesi penyemak imbas Firefox tertentu.

Oleh kerana ini adalah fungsi yang terpasang, tidak ada keperluan eksplisit untuk menetapkan id sesi

Contoh Kod: Di sini dua sesi yang berbeza akan dihasilkan untuk dua WebDriver yang berbeza.

import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;Sesi Pengendalian kelas awam {utama kekosongan statik awam (Rentetan ... rentetan) {// Sesi pertama WebDriverPemacu WebDriver = FirefoxDriver baru ();// Goto laman web9999driver.get ("http://demo.guru99.com/V4/");// Sesi kedua WebDriverPemacu WebDriver2 = FirefoxDriver baru ();// Goto laman web9999driver2.get ("http://demo.guru99.com/V4/");}}

Cara menjalankan Ujian Selari dengan Selenium

Terdapat situasi di mana anda ingin menjalankan banyak ujian pada masa yang sama.

Dalam kes sedemikian, seseorang boleh menggunakan atribut "selari"

Atribut selari tag suite boleh menerima empat nilai:

ujian Semua kes ujian di dalam tag Testing xml file akan berjalan selari.
kelas Semua kes ujian dalam kelas Java akan berjalan selari
kaedah Semua kaedah dengan anotasi @Test akan dilaksanakan selari.
contoh Kes ujian dalam contoh yang sama akan dijalankan secara selari tetapi dua kaedah dari dua contoh yang berbeza akan dijalankan dalam urutan yang berbeza.

Pengiraan utas atribut membolehkan anda menentukan berapa banyak utas yang harus diperuntukkan untuk pelaksanaan ini.

Contoh Lengkap: Dalam Contoh ini, tiga kes ujian akan berjalan selari dan mengisi data log masuk di http://demo.guru99.com

Projek Lengkap akan kelihatan seperti:

TestGuru99MultipleSession.java

import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;import org.testng.annotations.Test;kelas awam TestGuru99MultipleSession {@ Ujianawam tidak sah pelaksana// Sesi pertama WebDriverSystem.setProperty ("webdriver.chrome.driver", "chromedriver.exe");Pemacu WebDriver = ChromeDriver baru ();// Goto laman web9999driver.get ("http://demo.guru99.com/V4/");// cari kotak teks nama pengguna dan isikandriver.findElement (By.name ("uid")). sendKeys ("Pemandu 1");}@ Ujiankekosongan awam executeSessionTwo () {// Sesi kedua WebDriverSystem.setProperty ("webdriver.chrome.driver", "chromedriver.exe");Pemacu WebDriver = ChromeDriver baru ();// Goto laman web9999driver.get ("http://demo.guru99.com/V4/");// cari kotak teks nama pengguna dan isikandriver.findElement (By.name ("uid")). sendKeys ("Pemandu 2");}@ Ujianawam batal dilaksanakanSessionThree () {// Sesi ketiga WebDriverSystem.setProperty ("webdriver.chrome.driver", "chromedriver.exe");Pemacu WebDriver = ChromeDriver baru ();// Goto laman web9999driver.get ("http://demo.guru99.com/V4/");// cari kotak teks nama pengguna dan isikandriver.findElement (By.name ("uid")). sendKeys ("Pemandu 3");}}

UjiNG.XML

Urutan Kes dan Ketergantungan

Anda boleh mengatur urutan dan kebergantungan pelaksanaan Test Case

Katakan anda mempunyai dua kes ujian, 'testGuru99TC1' dan 'testGuru99TC2' dan anda mahu melaksanakan kes ujian 'testGuru99TC2' sebelum 'testGuru99TC1'. Dalam kes ini, kita akan menggunakan atribut 'dependOnMethods' untuk membuat ketergantungan dan urutan pelaksanaan.

Ringkasan

  • SesiID baru dibuat untuk contoh baru WebDriver.
  • Satu sesi akan diikat dengan satu penyemak imbas tertentu.
  • Dengan menggunakan utas atribut dan selari, anda menjalankan skrip anda secara selari.
  • Anda boleh menggunakan ketergantungan atribut untuk menetapkan urutan untuk menguji pelaksanaan