Ujian automatik aplikasi web menggunakan Python

WBOY
Lepaskan: 2023-06-17 14:12:43
asal
1414 orang telah melayarinya

Dalam pembangunan perisian moden, ujian unit dan ujian integrasi telah menjadi standard, tetapi ujian ini masih perlu dilakukan secara manual. Pengujian manual boleh membosankan, memakan masa dan terdedah kepada ralat, terutamanya dalam persekitaran yang memerlukan penyepaduan berterusan Ujian automatik amat penting. Python, sebagai bahasa pengaturcaraan yang popular, mempunyai banyak rangka kerja ujian yang berkuasa dan perpustakaan untuk menulis ujian aplikasi web automatik. Artikel ini akan membincangkan cara menggunakan Python untuk ujian automatik.

  1. Pasang perpustakaan Python yang diperlukan

Sebelum anda mula menulis ujian automatik, anda perlu memastikan bahawa anda telah memasang perpustakaan Python yang diperlukan. Perpustakaan ini termasuk:

  • Selenium WebDriver: Digunakan untuk mensimulasikan tindakan penyemak imbas seperti mengklik pautan dan mengisi borang.
  • Pytest: digunakan untuk menulis dan melaksanakan kes ujian.
  • Permintaan: digunakan untuk menghantar permintaan HTTP dan menghuraikan respons.

Perpustakaan ini boleh dipasang dengan mudah menggunakan arahan pip.

pip install selenium pytest requests
Salin selepas log masuk

Anda juga boleh menyenaraikan perpustakaan yang anda mahu gunakan dalam fail keperluan.txt projek anda supaya orang lain boleh memasang kebergantungan yang sama dengan mudah.

  1. Menulis Kes Ujian

Sebelum menulis kes ujian, anda perlu menentukan URL aplikasi yang ingin anda uji dan sebarang maklumat pengesahan yang diperlukan. Selalunya perlu mencipta persekitaran ujian yang mengandungi pengguna ujian supaya bukti kelayakan yang diketahui boleh digunakan untuk mencetuskan tingkah laku tertentu.

Proses asas untuk menulis kes ujian menggunakan Selenium dan Pytest adalah seperti berikut:

  • Jika perlu, buka penyemak imbas menggunakan Selenium dan navigasi ke tapak ujian.
  • Gunakan Selenium untuk mensimulasikan interaksi pengguna dengan aplikasi anda. Contohnya, Selenium boleh digunakan untuk mensimulasikan log masuk pengguna, mengisi borang, mengklik butang atau pautan, dsb.
  • Tulis kes ujian dalam format Pytest. Setiap kes ujian biasanya sepadan dengan ujian tunggal kefungsian aplikasi tertentu, seperti "Uji fungsi log masuk pengguna" atau "Uji akses ke halaman tertentu."
  • Sebelum Pytest melaksanakan ujian, anda boleh menyediakan lekapan ujian untuk menyediakan persekitaran ujian atau objek simulasi atau melakukan beberapa langkah berulang.

Berikut ialah contoh kes ujian mudah untuk menguji halaman log masuk:

import pytest
from selenium import webdriver

# 设置测试环境
@pytest.fixture(scope="module")
def driver():
    with webdriver.Chrome() as driver:
        yield driver

# 测试用例
def test_login_page(driver):
    driver.get("https://myapp.com/login")
    assert "登录" in driver.title
    username_input = driver.find_element_by_id("username")
    password_input = driver.find_element_by_id("password")
    submit_button = driver.find_element_by_id("submit")
    username_input.send_keys("test_user")
    password_input.send_keys("test_password")
    submit_button.click()
    assert "欢迎" in driver.title
Salin selepas log masuk

Dalam kod di atas, driver ialah objek pemacu web Selenium dan test_login_page ialah Ujian kes yang menavigasi ke halaman log masuk, mengisi borang dan mengklik butang hantar, dan akhirnya menegaskan bahawa tajuk halaman selepas log masuk mengandungi perkataan "Selamat Datang".

  1. Laksanakan kes ujian

Selepas anda selesai menulis kes ujian, anda boleh menggunakan Pytest untuk melaksanakannya. Masukkan arahan berikut pada baris arahan untuk melaksanakan kes ujian:

pytest test_web_app.py
Salin selepas log masuk

Sebelum melaksanakan kes ujian, Pytest akan mencari fungsi bermula dengan "test_" dalam fail dan mengenal pastinya sebagai kes ujian berdasarkan fungsi nama dan tag. Apabila melaksanakan kes ujian, Pytest akan mengeluarkan keputusan setiap kes ujian, termasuk sama ada ujian itu lulus, masa berjalan dan sebarang output.

  1. Sepadukan alatan lain

Selain Selenium dan Pytest, terdapat banyak alatan lain yang tersedia untuk ujian automatik Python. Berikut ialah beberapa contoh:

  • PyAutoGUI: digunakan untuk mensimulasikan input dan operasi papan kekunci dan tetikus. Boleh digunakan untuk menulis ujian UI.
  • Locust: Alat ujian beban sumber terbuka yang ditulis dalam Python yang boleh mensimulasikan sejumlah besar lawatan pengguna dan menangkap penunjuk prestasi aplikasi.
  • Mock: Pustaka Python untuk fungsi mengejek dan objek yang boleh menggantikan fungsi dan objek sebenar dalam ujian untuk mengelakkan pergantungan pada sistem lain.
  • Coverage.py: Alat liputan ujian Python, anda boleh melihat bahagian kod yang telah diliputi oleh ujian.

Pengujian automatik merupakan bahagian penting dalam pembangunan perisian moden. Python menyediakan perpustakaan dan alatan yang berkuasa dan mudah digunakan untuk membuat dan melaksanakan ujian automatik dengan mudah. Sama ada anda menggunakan Selenium dan Pytest untuk menulis ujian UI, atau menggunakan alat lain untuk menguji prestasi dan pemuatan kod, Python ialah pilihan yang sangat baik.

Atas ialah kandungan terperinci Ujian automatik aplikasi web menggunakan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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!