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)