Cara menggunakan selenium, alat ujian automatik Python

WBOY
Lepaskan: 2023-05-17 10:43:37
ke hadapan
1362 orang telah melayarinya

    1 Ujian automatik

    Pengujian automatik merujuk kepada automasi ujian perisian, menjalankan aplikasi atau sistem di bawah keadaan pratetap dan keadaan pratetap termasuk keadaan biasa dan tidak normal , dan akhirnya menilai hasil yang sedang dijalankan. Proses menukar tingkah laku ujian yang dipacu manusia kepada pelaksanaan mesin.

    Cara menggunakan selenium, alat ujian automatik Python

    Ujian automatik termasuk automasi UI, automasi antara muka dan automasi ujian unit. Perancangan ujian automatik mengikut model piramid ini boleh menghasilkan nisbah output-ke-input (ROI) ujian automatik terbaik dan memperoleh faedah yang baik dengan pelaburan yang kurang.

    1.1 Ujian Unit

    Pelaburan terbesar haruslah dalam ujian unit dan ujian unit harus dijalankan dengan lebih kerap.

    Rangka kerja ujian unit Java ialah Junit.

    1.2 Pengujian Antara Muka

    Pengujian antara muka ialah ujian API Berbanding dengan automasi UI, automasi API lebih mudah untuk dilaksanakan dan lebih stabil untuk dilaksanakan.

    Automasi antara muka mempunyai ciri-ciri berikut:

    • Boleh campur tangan pada peringkat awal produk, selepas antara muka selesai

    • Jumlah penyelenggaraan kes penggunaan adalah kecil

    • Sesuai untuk projek dengan perubahan antara muka yang kecil dan perubahan antara muka yang kerap

    Alat ujian automasi antara muka biasa sertakan RobotFramework, JMeter, SoapUI, TestNG +HttpClient, Postman, dsb.

    1.3 Ujian UI

    Walaupun piramid ujian memberitahu kami untuk melakukan sebanyak mungkin ujian automatik pada lapisan API, ujian automatik lapisan UI adalah lebih dekat dengan keperluan pengguna dan realiti perniagaan sistem perisian. Dan kadangkala kita perlu melakukan ujian lapisan UI.

    Ciri automasi UI:

    • Jumlah penyelenggaraan kes penggunaan yang banyak

    • Halaman ini sangat relevan dan mesti dibangunkan kemudian pada halaman projek Intervensi kemudian

    • Ujian UI sesuai untuk projek dengan perubahan antara muka yang kecil

    Terdapat banyak rangka kerja ujian untuk lapisan UI , seperti pelanggan Windows menguji AutoIT, selenium untuk ujian web dan TestPlant, eggPlant, rangka kerja Robot, QTP, dsb.

    1.3.1 Kelebihan ujian automatik UI

    Mengurangkan pelaburan manusia dalam ujian regresi berskala besar yang disebabkan oleh perubahan atau pembangunan berbilang fasa sistem besar. Ini mungkin tugas yang paling penting ujian automatik Terutama apabila program diubah suai dengan kerap, kesannya sangat jelas Pada peringkat awal ujian automatik, lebih banyak tenaga kerja dilaburkan, tetapi selepas memasuki tempoh penyelenggaraan, banyak tenaga kerja dapat disimpan, manakala di peringkat kemudian. daripada ujian manual, banyak tenaga manusia diperlukan untuk ujian regresi

    • Kurangkan masa ujian berulang dan capai ujian regresi pantas

    • Buat proses ujian yang sangat baik dan boleh dipercayai serta mengurangkan kesilapan manusia

    • Boleh menjalankan lebih banyak ujian yang membosankan

    • Boleh melakukan beberapa ujian yang sukar atau mustahil untuk dilakukan lakukan secara manual

    • Sumber penggunaan yang lebih baik

    • Kebolehgunaan semula skrip ujian

    1.3.2 Objek yang berkenaan ujian automatik UI

    Mereka yang melaksanakan ujian automatik Prasyarat: keperluan jarang berubah, kitaran projek cukup panjang dan skrip ujian automatik boleh digunakan semula.

    Sesuai untuk projek automasi:

    • Projek jenis produk. Untuk projek jenis produk, versi baharu adalah penambahbaikan pada versi lama, dan fungsi projek tidak banyak berubah Walau bagaimanapun, fungsi baharu dan lama projek mesti diuji regresi berulang kali. Kelebihan ujian automatik ialah ujian regresi, yang boleh mengesahkan dengan berkesan sama ada kecacatan baharu diperkenalkan dan sama ada kecacatan lama dibaiki. Pada tahap tertentu, alat ujian automatik boleh dipanggil alat ujian regresi.

    • Ujian mekanikal dan kerap. Dalam projek jangka panjang, jumlah data yang sama besar perlu dimasukkan berulang kali. Seperti ujian keserasian.

    Projek berikut tidak sesuai untuk ujian automatik:

    • Projek dengan perubahan permintaan yang kerap, skrip automasi tidak boleh digunakan semula dan kos penyelenggaraan adalah terlalu tinggi , prestasi kos rendah

    • Kitaran projek adalah pendek, skrip automatik tidak digunakan berkali-kali selepas siap, prestasi kos rendah

    • Projek yang sangat interaktif, Untuk projek yang memerlukan campur tangan manual, automasi tidak boleh dilaksanakan

    1.4 Proses ujian automatik

    • Analisis: memahami logik sistem secara keseluruhan dan menganalisis sistem teras seni bina sistem.

    • Reka bentuk: Reka bentuk kes ujian hendaklah khusus dan cukup jelas, dengan liputan yang luas dan tepat

    • Pelaksanaan: Skrip pelaksanaan, terdapat dua Keperluan pertama ialah penegasan, dan keperluan kedua ialah penggunaan parameterisasi yang munasabah.

    • Pelaksanaan: Melaksanakan skrip bukanlah semudah yang kita fikirkan. Keabnormalan semasa pelaksanaan skrip memerlukan kami menganalisis punca dengan teliti.

    • Ringkasan: Analisis keputusan ujian dan ringkasan proses ujian adalah kunci kepada ujian automatik.

    • Penyelenggaraan: Penyelenggaraan skrip ujian automatik adalah masalah yang sukar tetapi perlu untuk diselesaikan.

    • Analisis: Analisis mendalam tentang risiko perlindungan kes penggunaan automatik dan kos penyelenggaraan skrip semasa proses ujian automatik.

    2 selenium

    Selenium ialah rangka kerja ujian automatik berasaskan UI untuk aplikasi web, menyokong berbilang platform, berbilang penyemak imbas dan berbilang bahasa.

    RC selenium awal telah digantikan oleh webDriver semasa Ia boleh difahami secara ringkas sebagai selenium1.0 + webdriver, dan Selenium2.0 semasa. Biasanya, kami menggunakan istilah "Selenium" untuk merujuk kepada Selenium 2.0. Selenium merangkumi tiga komponen: Selenium IDE, Webdriver dan Selenium Grid.

    Mari perkenalkan setiap satu:

    Selenium IDE

    Selenium IDE ialah persekitaran pembangunan bersepadu yang lengkap untuk ujian Selenium Ia boleh merekodkan operasi pengguna secara langsung dalam penyemak imbas, dan boleh Main semula , edit dan nyahpepijat skrip ujian. Semasa nyahpepijat, anda boleh melangkah melalui pelaksanaan atau melaraskan kelajuan pelaksanaan, dan melihat log di bahagian bawah untuk mendapatkan maklumat ralat. Skrip ujian yang direkodkan boleh dieksport dalam berbilang bahasa, seperti Java, C#, Python, Ruby, dll., menjadikannya lebih mudah bagi penguji yang menguasai bahasa yang berbeza untuk beroperasi. Webdriver

    Selenium RC menjalankan aplikasi JavaScript dalam penyemak imbas, dan akan terdapat masalah kotak pasir persekitaran skrip. Berdasarkan pengikatan bahasa tertentu (Java, C#, Python, Ruby, Perl, JavaScript, dll.) untuk mendorong penyemak imbas mengendalikan dan mengesahkan elemen web.

    Cara webdriver berfungsi:

    • Selepas memulakan penyemak imbas, selenium-webdriver akan mengikat pelayar sasaran ke port tertentu dan penyemak imbas yang dimulakan akan bertindak sebagai pelayan jauh pemacu web .

    • Pelanggan (iaitu, skrip ujian) menggunakan ComandExecutor untuk menghantar permintaan HTTP kepada pelayan (protokol komunikasi: Protokol Wire WebDriver. Dalam kandungan permintaan HTTP, Protokol WebDriver Wire akan digunakan Rentetan berformat JSON tertentu yang memberitahu Selenium perkara yang kami mahu penyemak imbas lakukan seterusnya).

    • Pihak Sever perlu bergantung pada komponen penyemak imbas asli untuk menukar arahan Perkhidmatan Web kepada panggilan asli penyemak imbas untuk menyelesaikan operasi.

    selenium Grid

    selenium Grid ialah pelayan yang menyediakan senarai pelayan yang diakses oleh tika penyemak imbas dan mengurus pendaftaran dan maklumat status setiap nod. Skrip ujian yang berbeza boleh dilaksanakan pada pelayan yang berbeza pada masa yang sama.

    Skrip rakaman 3 selenium IDE

    Open Edge-Plugin-select selenium IDE:

    Buat projek baharu, dan akan ada ujian Tanpa Tajuk dalam tetingkap Kes Ujian pada Sarung kiri, klik kanan dan namakan semula kepada "ujian"

    Cara menggunakan selenium, alat ujian automatik Python

    Klik butang rakaman (titik merah kecil) di bahagian atas sebelah kanan IDE untuk memulakan rakaman manual

    dalam bar alamat Masukkan URL untuk diuji, seperti http://www.baidu.com, cari kata kunci, dan anda boleh melihat bahawa IDE sedang dirakam.

    Klik kanan pada halaman untuk menambah pusat pemeriksaan.

    Selepas rakaman selesai, klik butang rekod (titik merah kecil) untuk menamatkan rakaman manual ini. Dalam selenium IDE, pilih Kes Ujian, klik kanan dan pilih "Eksport sebagai fail test.py.

    Jalankan skrip dalam python dan nyahpepijatnya.

    # Generated by Selenium IDE
    import pytest
    import time
    import json
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.common.action_chains import ActionChains
    from selenium.webdriver.support import expected_conditions
    from selenium.webdriver.support.wait import WebDriverWait
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
    class TestTest():
      def setup_method(self, method):
        self.driver = webdriver.Chrome()
        self.vars = {}
      def teardown_method(self, method):
        self.driver.quit()
      def test_test(self):
        self.driver.get("https://www.baidu.com/")
        self.driver.set_window_size(809, 864)
        self.driver.find_element(By.ID, "kw").click()
        self.driver.execute_script("window.scrollTo(0,0)")
        self.driver.find_element(By.ID, "kw").send_keys("四月是你的谎言")
        self.driver.find_element(By.ID, "su").click()
    Salin selepas log masuk

    Atas ialah kandungan terperinci Cara menggunakan selenium, alat ujian automatik Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Label berkaitan:
    sumber:yisu.com
    Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
    Tutorial Popular
    Lagi>
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan
    Tentang kita Penafian Sitemap
    Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!