Selenium

Otomatisasi Web Selenium dengan Python

Otomatisasi Web Selenium dengan Python
Setiap orang menggunakan web pada satu titik atau yang lain, jadi ini adalah panggilan besar bagi pengembang untuk memastikan aplikasi web mereka berfungsi sebagaimana mestinya. Selain itu, otomatisasi web bisa sangat membantu.

Agar perangkat lunak komersial apa pun berhasil, ia harus menjalani beberapa tes. Otomatisasi dapat berguna untuk pengujian pengguna, mensimulasikan penggunaan perangkat lunak seperti yang dilakukan pengguna. Ini juga berguna untuk tes penetrasi, seperti mencoba memecahkan kata sandi, melakukan injeksi SQL, dll.

Selain pengujian, otomatisasi web bisa sangat berguna untuk menggores situs web berat JavaScript.

Selenium adalah salah satu alat paling efisien untuk otomatisasi web. Ini juga sangat populer di antara berbagai bahasa, tersedia dalam bahasa seperti Java, JavaScript.

Instalasi

Selenium dapat diinstal di python menggunakan modul pip seperti yang ditunjukkan pada perintah di bawah ini:

pip instal selenium

Itu akan menginstal perpustakaan dan dependensi yang diperlukan, instalasi dapat dikonfirmasi dengan mengimpornya dalam sesi interaktif.

$ python
Python 3.5.2 (default, 14 Sep 2017, 22:51:06)
[GCC 5.4.0 20160609] di linux
Ketik "bantuan", "hak cipta", "kredit" atau "lisensi" untuk informasi lebih lanjut.
>>> impor selenium

Karena tidak ada kesalahan yang terjadi, itu berarti instalasi kami berhasil. Namun, itu tidak berakhir di sana; ini karena Selenium bekerja bahu-membahu dengan browser seperti Chrome dan Firefox dan membutuhkan driver dari browser untuk dapat melanjutkan tugasnya.

Kami akan melihat cara menginstal driver drivers. Untuk Mozilla Firefox, Anda dapat mengunduh drivernya yang dikenal sebagai geckodriver dari halaman github. Jika Anda adalah pengguna Chrome, Anda dapat mengunduh drivernya yang dikenal sebagai chromedriver dari situs resmi.

Setelah mengunduh, Anda kemudian menambahkan driver ke jalur. Secara pribadi saya ingin menyimpan file seperti itu di my /usr/local/bin direktori, dan saya sarankan Anda melakukan hal yang sama.

Jika Anda ingin melakukan hal yang sama, perintah di bawah ini harus memindahkannya dari direktori Anda saat ini ke tempat sampah direktori.

$ sudo mv geckodriver /usr/local/bin
$ sudo mv chromedriver /usr/local/bin

Menambahkan geckodriver atau chromedriver ke jalur dari direktori itu, jalankan perintah berikut:.

$ekspor PATH=$PATH:/usr/local/bin/geckodriver
$ekspor PATH=$PATH:/usr/local/bin/chromedriver

Setelah menambahkan driver untuk browser yang Anda inginkan ke jalur, Anda dapat mengonfirmasi apakah semuanya berfungsi dengan baik dengan menjalankan yang berikut dari sesi interaktif interactive.

Untuk Firefox:

$ python
Python 3.5.2 (default, 14 Sep 2017, 22:51:06)
[GCC 5.4.0 20160609] di linux
Ketik "bantuan", "hak cipta", "kredit" atau "lisensi" untuk informasi lebih lanjut.
>>> dari selenium impor webdriver
>>> webdriver.Firefox()

Untuk Chrome:

$ python
Python 3.5.2 (default, 14 Sep 2017, 22:51:06)
[GCC 5.4.0 20160609] di linux
Ketik "bantuan", "hak cipta", "kredit" atau "lisensi" untuk informasi lebih lanjut.
>>> dari selenium impor webdriver
>>> driver = webdriver.Chrome()

Setelah menjalankan itu, jika browser muncul maka semuanya berfungsi dengan baik. Sekarang kita dapat melanjutkan untuk melakukan hal-hal keren dengan Selenium.

Sebagian besar kode untuk sisa artikel ini akan dilakukan dalam sesi interaktif, namun Anda dapat menulisnya dalam file seperti skrip python biasa.

Juga, kami akan mengerjakan sopir variabel dari kode di atas.

Mengunjungi halaman web

Setelah halaman web terbuka, Anda dapat mengunjungi halaman web apa pun dengan menghubungi Dapatkan metode aktif sopir. Peramban yang dibuka kemudian memuat alamat yang diteruskan, sama seperti ketika Anda melakukannya sendiri.

Jangan lupa untuk menggunakan http:// atau https://, jika tidak, Anda harus berurusan dengan kesalahan yang tidak menyenangkan.

>>> sopir.dapatkan("http://google.com")

Ini akan memuat beranda Google.

Mendapatkan kode sumber

Sekarang kita telah belajar mengunjungi halaman web, kita dapat mengikis data dari halaman web yang dikunjungi visited.

Dari sopir objek, kita bisa mendapatkan kode sumber dengan memanggil calling halaman_sumber atribut, Anda kemudian dapat melakukan apa pun yang Anda inginkan dengan html menggunakan perpustakaan BeautifulSoup.

>> sopir.halaman_sumber

Mengisi kotak teks

Jika misalnya kami telah memuat beranda Google, dan kami ingin mengetikkan beberapa informasi di kotak pencarian; itu dapat dengan mudah dilakukan.

Untuk melakukan ini, kami menggunakan elemen inspektur untuk memeriksa kode sumber dan melihat informasi tag dari kotak pencarian. Untuk melakukannya, cukup klik kanan pada kotak telusur dan pilih memeriksa elemen.

Di mesin saya, saya mendapatkan yang berikut:

value="" aria-label="Cari" aria-haspopup="false" role="combobox" aria-autocomplete="daftar"
style="border: medium none; padding: 0px; margin: 0px; height: auto; width: 100%;
latar belakang: transparan
url("data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEA
Ow%3D%3D") ulangi scroll 0% 0%; position: absolute; z-index: 6; left: 0px; outline:
medium none;" dir="ltr" spellcheck="false" type="text">

Dengan Selenium, kita dapat memilih elemen baik dengan nama tag, id, nama kelas dll.

Mereka dapat diimplementasikan dengan metode berikut:

.temukan_elemen_oleh_id
.temukan_elemen_oleh_tag_name
.find_element_by_class_name
.temukan_elemen_dengan_nama

Dari halaman web google, kotak pencarian memiliki id lst-ib, jadi kita akan menemukan elemen dengan id.

>>> search_box = driver.find_element_by_id("lst-ib")

Sekarang kita telah menemukan elemen dan menyimpannya di a kotak pencarian variabel, kita bisa melakukan beberapa operasi di kotak pencarian.

>>> kotak_pencarian.send_keys("Planet Bumi")

Ini akan memasukkan teks "Planet Earth" di dalam kotak.

>>> kotak_pencarian.bersih()

Ini akan menghapus teks yang dimasukkan dari kotak pencarian. Anda harus menggunakan send_keys metode lagi, di bagian selanjutnya kita akan mengklik tombol pencarian sehingga kita memiliki sesuatu untuk dicari.

Mengklik tombol kanan

Sekarang kami telah mengisi kotak pencarian dengan beberapa informasi, kami dapat melanjutkan dan mencari.

Cara yang sama kami menemukan kotak pencarian adalah cara yang sama kami akan menemukan tombol pencarian.

Di mesin saya, saya mendapatkan yang berikut:

ketik="kirim">

Melihat ini kita dapat menggunakan atribut nama. Kita bisa mendapatkannya dengan menggunakan kode di bawah ini:

>>> search_button = driver.find_element_by_name("btnK")

Setelah menemukan tag yang diinginkan, kita kemudian dapat mengklik tombol menggunakan klik metode.

>>> search_button.klik()

Namun berhati-hatilah, karena saran otomatis Google, Anda mungkin akhirnya mencari sesuatu yang lain.

Untuk melewati ini, Anda harus segera menekan tombol enter. Kunci berada di luar cakupan artikel ini, tetapi inilah kodenya.

>>> dari selenium.webdriver.umum.kunci impor Kunci
>>> search_box = driver.find_element_by_id("lst-ib")
>>> kotak_pencarian.send_keys("Planet Bumi")
>>> kotak_pencarian.send_keys(Tombol.KEMBALI)

Dengan kode di atas, kita tidak perlu mengklik tombol pencarian. Ini berfungsi seperti ketika kita menekan tombol enter setelah mengetikkan nilai pencarian.

Metode mengklik tombol ini tidak hanya berfungsi dengan tombol, tetapi juga berfungsi dengan tautan.

Mengambil tangkapan layar

Anda membacanya dengan benar! Anda dapat mengambil tangkapan layar menggunakan Selenium, dan semudah bagian sebelumnya.

Apa yang akan kita lakukan adalah memanggil simpan_screenshot metode pada objek driver, kami kemudian akan meneruskan nama gambar dan tangkapan layar akan diambil.

>>> sopir.save_screenshot("Planet-bumi.png")

Pastikan nama gambar memiliki .ekstensi png, jika tidak, Anda mungkin akan mendapatkan gambar yang rusak.

Ketika Anda selesai dengan operasi, Anda dapat menutup browser dengan menjalankan kode berikut:

>>> sopir.Menutup()

Kesimpulan

Selenium dikenal sebagai alat yang sangat kuat, dan dapat menggunakannya dianggap sebagai keterampilan penting bagi penguji otomatisasi. Selenium dapat melakukan lebih dari yang dibahas dalam artikel ini, gerakan keyboard sebenarnya dapat direplikasi seperti yang ditunjukkan dengan Kunci.KEMBALI. Jika Anda ingin mempelajari lebih lanjut tentang selenium, Anda dapat memeriksanya dokumentasi, cukup jelas dan mudah digunakan.

Aplikasi Pemetaan Gamepad Terbaik untuk Linux
Jika Anda suka bermain game di Linux dengan gamepad alih-alih sistem input keyboard dan mouse biasa, ada beberapa aplikasi yang berguna untuk Anda. Ba...
Alat Berguna untuk Gamer Linux
Jika Anda suka bermain game di Linux, kemungkinan besar Anda telah menggunakan aplikasi dan utilitas seperti Wine, Lutris, dan OBS Studio untuk mening...
Game Remaster HD untuk Linux yang Belum Pernah Rilis Linux Sebelumnya
Banyak pengembang dan penerbit game datang dengan remaster HD dari game lama untuk memperpanjang umur waralaba, harap penggemar meminta kompatibilitas...