Kiểm tra trình duyệt chéo là gì?
Kiểm tra trình duyệt chéo là một loại kiểm tra chức năng để kiểm tra xem ứng dụng web của bạn có hoạt động như mong đợi trong các trình duyệt khác nhau hay không.
Tại sao chúng ta cần Kiểm tra trình duyệt chéo?
Các ứng dụng dựa trên web hoàn toàn khác với các ứng dụng Windows. Người dùng cuối có thể mở ứng dụng web trong bất kỳ trình duyệt nào. Ví dụ: một số người thích mở https://twitter.com trong trình duyệt Firefox, trong khi những người khác có thể sử dụng trình duyệt Chrome hoặc IE .
Trong sơ đồ bên dưới, bạn có thể thấy rằng trong IE , hộp đăng nhập của Twitter không hiển thị đường cong ở tất cả các góc, nhưng chúng ta có thể thấy nó trong trình duyệt Chrome.
Vì vậy, chúng ta cần đảm bảo rằng ứng dụng web sẽ hoạt động như mong đợi trên tất cả các trình duyệt phổ biến để nhiều người có thể truy cập và sử dụng nó.
Động cơ này có thể được thực hiện với Thử nghiệm trình duyệt chéo của sản phẩm.
Lý do các vấn đề về trình duyệt chéo
- Kích thước phông chữ không khớp trong các trình duyệt khác nhau.
- Việc triển khai JavaScript có thể khác.
- Sự khác biệt về xác thực CSS, HTML có thể ở đó.
- Một số trình duyệt vẫn không hỗ trợ HTML5.
- Căn chỉnh trang và kích thước div.
- Định hướng hình ảnh.
- Trình duyệt không tương thích với hệ điều hành. Vân vân.
Cách thực hiện Kiểm tra trình duyệt chéo
Nếu chúng tôi đang sử dụng Selenium WebDriver, chúng tôi có thể tự động hóa các trường hợp thử nghiệm bằng trình duyệt Internet Explorer, FireFox, Chrome, Safari.
Để thực thi các trường hợp kiểm thử với các trình duyệt khác nhau trong cùng một máy cùng một lúc, chúng ta có thể tích hợp khung công tác Testng với Selenium WebDriver.
Test.xml của bạn sẽ trông giống như vậy,
Testing.xml này sẽ ánh xạ với Test Case trông giống như vậy
Ở đây bởi vì testing.xml có hai thẻ Kiểm tra ('ChromeTest', 'FirefoxTest'), nên trường hợp kiểm tra này sẽ thực thi hai lần cho 2 trình duyệt khác nhau.
Thử nghiệm đầu tiên 'ChromeTest' sẽ chuyển giá trị của tham số 'browser' là 'chrome' để ChromeDriver sẽ được thực thi. Trường hợp thử nghiệm này sẽ chạy trên trình duyệt Chrome.
Thử nghiệm thứ hai 'FirefoxTest' sẽ chuyển giá trị của tham số 'browser' là 'Firefox' để FirefoxDriver sẽ được thực thi. Trường hợp thử nghiệm này sẽ chạy trên trình duyệt FireFox.
Hoàn thành mã:
Guru99CrossBrowserScript.java
gói song song;nhập java.util.concurrent.TimeUnit;nhập org.openqa.selenium.By;nhập org.openqa.selenium.WebDriver;nhập org.openqa.selenium.WebElement;nhập org.openqa.selenium.chrome.ChromeDriver;nhập org.openqa.selenium.edge.EdgeDriver;nhập org.openqa.selenium.firefox.FirefoxDriver;nhập org.testng.annotations.BeforeTest;nhập org.testng.annotations.Parameters;nhập org.testng.annotations.Test;lớp công khai CrossBrowserScript {Trình điều khiển WebDriver;/ *** Chức năng này sẽ thực thi trước mỗi thẻ Kiểm tra trong testng.xml* Trình duyệt @param* Ngoại lệ @throws* /@Trước khi kiểm tra@Parameters ("trình duyệt")public void setup (String browser) ném Exception {// Kiểm tra xem tham số được truyền từ TestNG có phải là 'firefox' khôngif (browser.equalsIgnoreCase ("firefox")) {// tạo phiên bản firefoxSystem.setProperty ("webdriver.gecko.driver", ". \\ geckodriver.exe");driver = new FirefoxDriver ();}// Kiểm tra xem tham số được truyền là 'chrome' hay khôngelse if (browser.equalsIgnoreCase ("chrome")) {// đặt đường dẫn đến chromedriver.exeSystem.setProperty ("webdriver.chrome.driver", ". \\ chromedriver.exe");// tạo phiên bản chromedriver = new ChromeDriver ();}// Kiểm tra xem tham số được truyền là 'Edge' hay khôngelse if (browser.equalsIgnoreCase ("Edge")) {// đặt đường dẫn đến Edge.exeSystem.setProperty ("webdriver.edge.driver", ". \\ MicrosoftWebDriver.exe");// tạo phiên bản Edgetrình điều khiển = new EdgeDriver ();}khác {// Nếu không có trình duyệt nào vượt qua ngoại lệ némném ngoại lệ mới ("Trình duyệt không đúng");}driver.manage (). timeouts (). implicitWait (10, TimeUnit.SECONDS);}@Kiểm trapublic void testParameterWithXML () ném InterruptException {driver.get ("http://demo.guru99.com/V4/");// Tìm tên người dùngWebElement userName = driver.findElement (By.name ("uid"));// Điền tên người dùnguserName.sendKeys ("guru99");//Tìm mật khẩuMật khẩu WebElement = driver.findElement (By.name ("mật khẩu"));// Điền mật khẩupassword.sendKeys ("guru99");}}
testing.xml
xml version = "1.0" encoding = "UTF-8"?>
LƯU Ý: Để chạy thử nghiệm, Nhấp chuột phải vào testing.xml, Chọn Run As và Nhấp vào TestNG
Tóm lược
- Kiểm tra trình duyệt chéo là một kỹ thuật để kiểm tra ứng dụng web với các trình duyệt web khác nhau.
- Selenium có thể hỗ trợ các loại trình duyệt khác nhau để tự động hóa.
- Selenium có thể được tích hợp với TestNG để thực hiện Kiểm tra Đa trình duyệt.
- Từ các tham số trong testing.xml, chúng ta có thể chuyển tên trình duyệt và trong trường hợp thử nghiệm, chúng ta có thể tạo tham chiếu WebDriver cho phù hợp.
Lưu ý: Chương trình nhất định được xây dựng và thử nghiệm trên selen 3.0.1, Chrome 56.0.2924.87, Firefox 47.0.2 & Microsoft Edge 14.14393. Nếu chương trình báo lỗi, vui lòng cập nhật trình điều khiển
Tải xuống Tệp dự án Selenium cho Demo trong Hướng dẫn này