Selenium

Selenium Web Automasi dengan Python

Selenium Web Automasi dengan Python
Semua orang menggunakan web pada satu ketika atau yang lain, jadi ini merupakan permintaan besar bagi para pembangun untuk memastikan aplikasi web mereka berfungsi seperti yang diharapkan. Untuk melakukan ini, automasi web dapat sangat membantu.

Agar perisian komersil berjaya, perlu menjalani beberapa ujian. Automasi boleh berguna untuk ujian pengguna, mensimulasikan penggunaan perisian seperti pengguna. Ia juga berguna untuk ujian penembusan, seperti cuba memecahkan kata laluan, melakukan suntikan SQL dll.

Selain ujian, automasi web sangat berguna untuk mengikis laman web berat JavaScript.

Selenium adalah salah satu alat yang paling berkesan untuk automasi web. Ia juga sangat popular di antara bahasa yang berbeza, tersedia dalam bahasa seperti Java, JavaScript.

Pemasangan

Selenium dapat dipasang di python menggunakan modul pip seperti yang ditunjukkan dalam perintah di bawah:

memasang pip selenium

Ia akan memasang perpustakaan dan pergantungan yang diperlukan, pemasangan dapat disahkan dengan mengimportnya dalam sesi interaktif.

$ ular sawa
Python 3.5.2 (lalai, 14 Sep 2017, 22:51:06)
[GCC 5.4.0 20160609] di linux
Ketik "bantuan", "hak cipta", "kredit" atau "lesen" untuk maklumat lebih lanjut.
>>> import selenium

Oleh kerana tidak ada ralat, ini bermaksud pemasangan kami berjaya. Walau bagaimanapun, ia tidak berakhir di sana; ini kerana selenium bekerjasama dengan penyemak imbas seperti Chrome dan Firefox dan memerlukan pemandu dari penyemak imbas untuk dapat meneruskan tugasnya.

Kami akan melihat bagaimana memasang pemacu. Untuk Mozilla Firefox, anda boleh memuat turun pemacu yang dikenali sebagai tokek dari laman github. Sekiranya anda pengguna Chrome, anda boleh memuat turun pemacu yang dikenali sebagai kromedriver dari laman web rasmi.

Selepas memuat turun, anda kemudian menambah pemacu ke jalan. Secara peribadi saya ingin menyimpan fail seperti itu di dalam fail saya / usr / tempatan / tong sampah direktori, dan saya akan menasihati anda untuk melakukan perkara yang sama.

Sekiranya anda ingin melakukan perkara yang sama, arahan di bawah harus mengalihkannya dari direktori semasa anda ke tong sampah direktori.

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

Untuk menambah tokek atau kromedriver ke jalan dari direktori itu, jalankan arahan berikut.

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

Setelah menambahkan pemacu untuk penyemak imbas yang anda inginkan ke jalan, anda boleh mengesahkan jika semuanya berfungsi dengan baik dengan menjalankan yang berikut dari sesi interaktif.

Untuk Firefox:

$ ular sawa
Python 3.5.2 (lalai, 14 Sep 2017, 22:51:06)
[GCC 5.4.0 20160609] di linux
Ketik "bantuan", "hak cipta", "kredit" atau "lesen" untuk maklumat lebih lanjut.
>>> dari pemacu web import selenium
>>> pemacu laman web.Firefox ()

Untuk Chrome:

$ ular sawa
Python 3.5.2 (lalai, 14 Sep 2017, 22:51:06)
[GCC 5.4.0 20160609] di linux
Ketik "bantuan", "hak cipta", "kredit" atau "lesen" untuk maklumat lebih lanjut.
>>> dari pemacu web import selenium
>>> pemacu = pemacu web.Chrome ()

Setelah menjalankannya, jika penyemak imbas muncul maka semuanya berfungsi dengan baik. Sekarang kita boleh melakukan perkara yang menarik dengan Selenium.

Sebilangan besar kod untuk artikel ini selebihnya akan dilakukan dalam sesi interaktif, namun anda boleh menulisnya dalam fail seperti skrip python biasa anda.

Juga, kita akan berusaha untuk pemandu pemboleh ubah dari kod di atas.

Melayari laman web

Setelah laman web dibuka, anda boleh mengunjungi laman web mana pun dengan menghubungi dapatkan kaedah pada pemandu. Penyemak imbas yang dibuka kemudian memuatkan alamat yang diserahkan, sama seperti ketika anda melakukannya sendiri.

Jangan lupa menggunakan http: // atau https: //, jika tidak, anda mesti menghadapi kesilapan yang tidak menyenangkan.

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

Ini akan memuatkan halaman utama Google.

Mendapatkan kod sumber

Setelah belajar mengunjungi laman web, kita dapat mengikis data dari laman web yang dikunjungi.

Daripada pemandu objek, kita boleh mendapatkan kod sumber dengan memanggil halaman_sumber atribut, anda kemudian boleh melakukan apa sahaja yang anda mahukan dengan html menggunakan perpustakaan BeautifulSoup.

>> pemandu.halaman_sumber

Mengisi kotak teks

Jika misalnya kita telah memuatkan halaman utama Google, dan kita ingin memasukkan beberapa maklumat di kotak carian; ia dapat dilakukan dengan mudah.

Untuk melakukan ini, kami menggunakan elemen pemeriksa untuk memeriksa kod sumber dan melihat maklumat tag pada kotak carian. Untuk melakukan ini, cukup klik kanan pada kotak carian dan pilih memeriksa elemen.

Di mesin saya, saya mendapat yang berikut:

nilai = "" aria-label = "Search" aria-haspopup = "false" role = "combobox" aria-autocomplete = "list"
style = "border: medium none; padding: 0px; margin: 0px; height: auto; lebar: 100%;
latar belakang: telus
url ("data: image / gif; base64, R0lGODlhAQABAID / AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEA
Ow% 3D% 3D ") ulangi tatal 0% 0%; kedudukan: mutlak; z-index: 6; kiri: 0px; garis besar:
medium none; "dir =" ltr "spellcheck =" false "type =" text ">

Dengan selenium, kita boleh memilih elemen sama ada dengan nama tag, id, nama kelas dll.

Mereka boleh dilaksanakan dengan kaedah berikut:

.cari_elemen_by_id
.cari_elemen_by_tag_nama
.cari_element_by_class_name
.cari_elemen_by_nama

Dari laman web google, kotak carian mempunyai id lst-ib, jadi kita akan mencari elemen mengikut id.

>>> search_box = pemacu.cari_element_by_id ("lst-ib")

Sekarang kita telah menemui elemen tersebut dan menyimpannya dalam a kotak carian pemboleh ubah, kita dapat melakukan beberapa operasi pada kotak carian.

>>> kotak carian.send_keys ("Planet Bumi")

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

>>> kotak carian.jelas ()

Ini akan membersihkan teks yang dimasukkan dari kotak carian. Anda harus menggunakan hantar_kunci kaedah lagi, di bahagian seterusnya kita akan mengklik butang carian sehingga kita mempunyai sesuatu untuk dicari.

Mengklik butang kanan

Setelah mengisi kotak carian dengan beberapa maklumat, kami dapat terus mencari dan mencari.

Dengan cara yang sama kita menjumpai kotak carian dengan cara yang sama kita akan mencari butang carian.

Di mesin saya, saya mendapat yang berikut:

taip = "submit">

Melihat ini, kita boleh menggunakan atribut nama. Kita boleh mendapatkannya dengan menggunakan kod di bawah:

>>> search_button = pemacu.cari_element_by_name ("btnK")

Setelah mencari tag yang diinginkan, kita kemudian dapat mengklik butang menggunakan klik kaedah.

>>> butang carian.klik ()

Berhati-hatilah, kerana cadangan automatik Google anda mungkin akhirnya mencari perkara lain.

Untuk memintas ini, anda perlu membuat papan kekunci menekan butang enter dengan segera. Kunci berada di luar ruang lingkup artikel ini, tetapi inilah kodnya.

>>> dari selenium.pemacu laman web.biasa.kunci import Kekunci
>>> search_box = pemacu.cari_element_by_id ("lst-ib")
>>> kotak carian.send_keys ("Planet Bumi")
>>> kotak carian.send_keys (Kekunci.KEMBALI)

Dengan kod di atas, kita tidak perlu mengklik butang carian. Ia berfungsi sama seperti ketika kita menekan butang enter setelah menaip nilai carian.

Kaedah clikcing buttosn ini tidak hanya berfungsi dengan butang, tetapi juga berfungsi dengan pautan.

Mengambil tangkapan skrin

Anda betul membaca! Anda boleh mengambil tangkapan skrin menggunakan selenium, dan semudah bahagian sebelumnya.

Apa yang akan kita lakukan ialah memanggil simpan_ tangkapan skrin kaedah pada objek pemacu, kami kemudian akan memasukkan nama gambar dan tangkapan skrin akan diambil.

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

Pastikan nama gambar mempunyai .sambungan png, jika tidak, anda mungkin akan berakhir dengan gambar yang rosak.

Apabila anda selesai dengan operasi, anda boleh menutup penyemak imbas dengan menjalankan kod berikut:

>>> pemandu.tutup ()

Kesimpulannya

Selenium dikenal sebagai alat yang sangat kuat, dan dapat menggunakannya dianggap sebagai kemahiran penting bagi penguji automasi. Selenium dapat melakukan lebih banyak daripada yang dibincangkan dalam artikel ini, pergerakan papan kekunci sebenarnya dapat ditiru seperti yang ditunjukkan dengan Kekunci.KEMBALI. Sekiranya anda ingin mengetahui lebih lanjut mengenai selenium, anda boleh melihatnya dokumentasi, ia cukup jelas dan senang digunakan.

Cara Memasang League Of Legends di Ubuntu 14.04
Sekiranya anda peminat League of Legends, maka ini adalah peluang bagi anda untuk menguji menjalankan League of Legends. Perhatikan bahawa LOL disokon...
Pasang permainan Strategi OpenRA terkini di Ubuntu Linux
OpenRA adalah mesin permainan Strategi Masa Nyata / Bebas yang mencipta semula permainan Westwood awal seperti Command & Conquer klasik: Makluman Mera...
Pasang Dolphin Emulator terkini untuk Gamecube & Wii di Linux
Dolphin Emulator membolehkan anda memainkan permainan Gamecube & Wii pilihan anda di Komputer Peribadi Linux (PC). Menjadi emulator permainan sumber ...