Quản lý WebDriver: Cách viết các bài kiểm tra tự động hóa ổn định và đáng tin cậy

Thiết lập môi trường: Xây dựng nền tảng kiểm tra vững chắc 🚀

Bắt đầu bằng việc thiết lập môi trường kiểm tra của bạn một cách chính xác. Bạn cần tải xuống mã nguồn quản lý WebDriver:

git clone https://example.com/webdriver_manager_repo

Sau đó, hãy cài đặt các phụ thuộc cần thiết. Sử dụng công cụ như Pipenv để cài đặt:

pipenv install --dev

Thiết kế bài kiểm tra cơ bản: Bao phủ các chức năng quan trọng ✅

Hãy bắt đầu với việc kiểm tra khả năng tải và lưu trữ trình điều khiển:

def kiem_tra_tai_xuong_trinh_dieu_khien():
    QuanLyTrinhDieuKhien().cai_dat()
    duongDan = QuanLyTrinhDieuKhien().cai_dat()
    assert os.path.exists(duongDan)

Tiếp theo, thử nghiệm với phiên bản trình điều khiển cụ thể:

def kiem_tra_trinh_dieu_khien_phien_ban_cu_the():
    duongDan = QuanLyTrinhDieuKhien("116.0.5843.1").cai_dat()
    assert os.path.exists(duongDan)

Kỹ thuật kiểm tra nâng cao: Xử lý các tình huống biên 🔍

Kiểm tra cách xử lý khi có lỗi trong số phiên bản:

def kiem_tra_loi_phien_ban():
    with pytest.raises(ValueError) as loi:
        QuanLyTrinhDieuKhien("0.1").cai_dat()
    assert "Không tìm thấy trình điều khiển" in loi.value.args[0]

Xác minh khả năng sử dụng đường dẫn lưu trữ tùy chỉnh:

def kiem_tra_luu_trinh_dieu_khien_vao_duong_dan_tuy_chinh():
    duongDanTuyChinh = os.path.join(os.path.dirname(__file__), "tu_chinh")
    duongDan = QuanLyTrinhDieuKhien(phienBan="116.0.5843.1", quanLyLuuTru=QuanLyLuuTru(duongDanTuyChinh)).cai_dat()
    assert os.path.exists(duongDan)
    assert duongDanTuyChinh in duongDan

Kiểm tra tích hợp: Hợp tác liền mạch với Selenium 🤝

Đảm bảo rằng WebDriver Manager hoạt động tốt với Selenium:

def kiem_tra_tich_hop_selenium():
    thietLap = webdriver.ChromeOptions()
    thietLap.binary_location = trinhDuyet.get("chrome")["duong_dan"]
    duongDan = QuanLyTrinhDieuKhien().cai_dat()
    trinhDuyet = webdriver.Chrome(dichVu=Service(duongDan), thietLap=thietLap)
    trinhDuyet.get("http://automation-examples.com")
    trinhDuyet.close()

Kiểm tra đa nền tảng: Đảm bảo tính tương thích trên nhiều hệ điều hành 🌐

Đảm bảo rằng WebDriver Manager hoạt động trên các hệ điều hành khác nhau:

@pytest.mark.parametrize('loai_he_thong', ['win32', 'win64', 'mac64'])
def kiem_tra_trinh_dieu_khien_cho_he_thong(loai_he_thong):
    duongDan = QuanLyTrinhDieuKhien(quanLyHeThong=QuanLyHeThong(loaiHeThong=loai_he_thong)).cai_dat()
    assert os.path.exists(duongDan)

Quản lý nhật ký: Gỡ lỗi và giám sát quá trình kiểm tra 📝

Cấu hình nhật ký tùy chỉnh để hỗ trợ gỡ lỗi:

def kiem_tra_nhat_ky_tuy_chinh(capsys, taoNhatKy):
    set_logger(taoNhatKy)
    guiNhatKy("Đây là thông điệp nhật ký từ bộ ghi tùy chỉnh")
    nhatKy = capsys.readouterr()
    assert "Đây là thông điệp nhật ký" in nhatKy.err
    capsys.close()
    set_logger(nhatKyCu)

Thẻ: WebDriverManager selenium PythonTesting TestAutomation

Đăng vào ngày 20 tháng 5 lúc 14:25