Cara Menyiapkan Selenium dengan Chromedriver di Debian Linux

Cara Menyiapkan Selenium dengan Chromedriver di Debian Linux

Tutorial ini akan membantu anda menyediakan Selenium dengan Chromedriver di Debian 9 dan Debian 8. Tutorial ini juga merangkumi contoh program Java yang menggunakan Server dan Chromedriver Selenium Standalone dan menjalankan kes ujian sampel.

XVFB (X Virtual Framebuffer) adalah pelayan paparan dalam memori untuk sistem operasi seperti Unix (E.g., Linux). Ia melaksanakan protokol pelayan paparan x11 tanpa paparan. Ini berguna untuk aplikasi CLI seperti perkhidmatan CI.

Langkah 1 - Prasyarat

Log masuk ke sistem Debian anda sebagai pengguna istimewa sudo dan laksanakan arahan berikut untuk memasang pakej yang diperlukan pada sistem anda.

sudo apt-get kemas kini sudo apt-get install -y curl unzip xvfb libxi6 libgconf-2-4 

Juga, pasang java pada sistem anda. Gunakan arahan di bawah untuk memasang OpenJDK pada sistem anda, jika anda suka memasang Oracle Java 8 pada sistem Debian anda.

sudo apt-get memasang lalai-jdk 

Langkah 2 - Pasang Google Chrome

Sekarang pasang Google Chrome terkini pada sistem Debian anda menggunakan arahan di bawah. Ciri Headless Google Chrome Membuka Pintu Multipu untuk Automasi.

sudo curl -ss -o -https: // dl -ssl.Google.com/linux/linux_signing_key.pub | Apt -Key Add - sudo echo "deb [arch = amd64] http: // dl.Google.com/linux/chrome/deb/stabil utama ">>/etc/apt/sumber.senarai.D/Google-Chrome.Senaraikan sudo apt-get -y update sudo apt-get -y memasang google-chrome-stabil 

Langkah 3 - Pasang Chromedriver

Chromedriver adalah pelayan mandiri yang melaksanakan protokol wayar WebDriver untuk Chromium. WebDriver adalah alat sumber terbuka untuk ujian automatik aplikasi web merentasi pelbagai pelayar.

wget https: // chromedriver.penyimpanan.Googleapis.com/2.41/chromedriver_linux64.zip unzip chromedriver_linux64.zip 

Anda boleh menemui Chromedriver terkini di halaman muat turun rasminya. Sekarang laksanakan arahan di bawah untuk mengkonfigurasi kromedriver pada sistem anda.

sudo mv chromedriver/usr/bin/chromedriver sudo chown root: root/usr/bin/chromedriver sudo chmod +x/usr/bin/chromedriver 

Langkah 4 - Muat turun fail balang yang diperlukan

Pelayan Selenium dikehendaki menjalankan Webdrivers Selenium Jauh. Anda perlu memuat turun fail balen standalone pelayan selenium menggunakan arahan di bawah atau lawati di sini untuk mencari versi fail jar terkini.

wget https: // selenium-release.penyimpanan.Googleapis.com/3.13/Selenium-server-state-3.13.0.balang 

Juga, muat turun testng-6.8.7.fail balang ke sistem anda.

wget http: // www.Java2s.com/code/jardownload/testng/testng-6.8.7.balang.zip unzip testng-6.8.7.balang.zip 

Langkah 5 - Mulakan Chrome melalui Server Selenium

Persediaan pelayan anda sudah siap. Mulakan krom melalui pelayan selenium mandiri menggunakan utiliti XVFB.

Jalankan Chrome melalui Server Selenium

Java -dwebDriver Java -Dwebdriver.Chrome.pemandu =/usr/bin/chromedriver -jar selenium-server-stateLone.balang 

Gunakan -debug pilihan pada akhir arahan untuk memulakan pelayan dalam mod debug.

Anda juga boleh Mula Chromedriver tanpa kepala dengan menaip arahan di bawah di terminal.

Chromedriver --url-base =/wd/hub 

Pelayan Selenium anda kini berjalan dengan Chrome. Gunakan pelayan ini untuk menjalankan kes ujian anda yang ditulis dalam selenium menggunakan penyemak imbas web Google Chrome. Langkah seterusnya adalah langkah pilihan dan tidak bergantung pada langkah 5.

Langkah 6 - Contoh Program Java (Pilihan)

Ini adalah langkah pilihan. Ia menerangkan menjalankan satu kes ujian menggunakan pelayan dan kromedriver selenium standalone. Mari buat program Java menggunakan pelayan selenium dan pemacu krom. Program Java ini akan membuka URL laman web yang ditentukan dan periksa sama ada rentetan yang ditentukan hadir di laman web atau tidak.

Buat program Java dengan mengedit fail dalam editor teks.

Vim Tecadminseleniumtest.Java 

Tambahkan kandungan di bawah ke fail.

Import Java.io.IoException; mengimport org.Openqa.selenium.Webdriver; mengimport org.Openqa.selenium.Chrome.ChromeOptions; mengimport org.Openqa.selenium.Chrome.Chromedriver; mengimport org.testng.Anotasi.Ujian; kelas awam tecadminseleniumtest public static void main (string [] args) melemparkan ioException, tergangguException System.setProperty ("WebDriver.Chrome.pemandu ","/usr/bin/chromedriver "); ChromeOptions ChromeOptions = ChromeOptions baru (); ChromeOptions.addArguments ("-tanpa kepala"); ChromeOptions.addArguments ("-no-sandbox"); Pemandu WebDriver = Chromedriver baru (ChromeOptions); pemandu.Dapatkan ("https: // google.com "); utas.tidur (1000); jika (pemandu.getPageSource ().mengandungi ("saya berasa bertuah")) sistem.keluar.println ("lulus"); else System.keluar.println ("gagal"); pemandu.berhenti ();
1234567891011121314151617181920212222324252627Import Java.io.IoException; mengimport org.Openqa.selenium.Webdriver; Import Org.Openqa.selenium.Chrome.Chromeoptions; import org.Openqa.selenium.Chrome.Kromedriver; org import.testng.Anotasi.Ujian; kelas awam tecadminseleniumtest public static void main (string [] args) melemparkan ioException, tergangguException System.setProperty ("WebDriver.Chrome.pemandu ","/usr/bin/chromedriver "); ChromeOptions ChromeOptions = ChromeOptions baru (); ChromeOptions.addArguments ("-tanpa kepala"); ChromeOptions.addArguments ("-no-sandbox"); Pemandu WebDriver = Chromedriver baru (ChromeOptions); pemandu.Dapatkan ("https: // google.com "); utas.tidur (1000); jika (pemandu.getPageSource ().mengandungi ("saya berasa bertuah")) sistem.keluar.println ("lulus"); else System.keluar.println ("gagal"); pemandu.berhenti ();

Anda boleh menukar url "https: // google.com "dengan mana -mana URL lain pilihan anda, kemudian juga menukar rentetan carian seperti" Saya Rasa Bertuah "digunakan dalam program Java di atas. Simpan program Java anda dan laksanakannya. Pertama, anda perlu menetapkan pembolehubah persekitaran kelas Java termasuk selenium-server-stateLone.balang dan testng-6.8.7.balang. Kemudian menyusun program Java dan menjalankannya.

Eksport ClassPath = ".: Selenium-server-state.JAR: Testng-6.8.7.Jar "Javac Tecadminseleniumtest.Java Java Tecadminseleniumtest 

Anda akan melihat hasilnya di bawah. Sekiranya rentetan carian yang ditetapkan dijumpai, anda akan mendapat mesej "lulus" dan jika rentetan tidak dijumpai di laman web, anda akan mendapat mesej "gagal" di skrin.