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 seleniumIa akan memasang perpustakaan dan pergantungan yang diperlukan, pemasangan dapat disahkan dengan mengimportnya dalam sesi interaktif.
$ ular sawaPython 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 sawaPython 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 sawaPython 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_sumberMengisi 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.