Biết cách thực hiện kiểm tra trình duyệt chéo bằng Selenium



Bài viết này về Kiểm tra trình duyệt chéo bằng Selenium sẽ cho bạn biết cách thực hiện kiểm tra tính tương thích giữa các trình duyệt của một trang web trên các trình duyệt và nền tảng hệ điều hành khác nhau.

Với nhu cầu ngày càng tăng về thử nghiệm tự động hóa, là một trong những công cụ hoàn toàn phù hợp để Kiểm tra trình duyệt chéo của một trang web. Việc kiểm tra tính tương thích và hiệu suất của các trang web trên các trình duyệt và hệ điều hành khác nhau là rất cần thiết. Vì vậy, bài viết về thử nghiệm Cross Browser bằng Selenium này sẽ giúp bạn hiểu sâu hơn về các khái niệm này.

Dưới đây là các chủ đề được đề cập trong bài viết này:





Kiểm tra trình duyệt chéo là gì?

Kiểm tra nhiều trình duyệt không gì khác ngoài kiểm tra ứng dụng trên nhiều trình duyệt như IE, Chrome, Firefox để chúng tôi có thể kiểm tra ứng dụng của mình một cách hiệu quả. Khả năng tương thích giữa nhiều trình duyệt là khả năng của một trang web hoặc ứng dụng web hoạt động trên các trình duyệt và hệ điều hành khác nhau.

Kiểm tra máy cắt chéo sử dụng selen - edureka Ví dụ - Giả sử bạn có 20 trường hợp thử nghiệm để thực thi thủ công. Bạn có thể hoàn thành nhiệm vụ này trong một hoặc hai ngày. Tuy nhiên, nếu các trường hợp thử nghiệm giống nhau phải được thực thi trong năm trình duyệt, thì có lẽ bạn sẽ mất một tuần để hoàn thành nó. Tuy nhiên, nếu bạn tự động hóa 20 trường hợp thử nghiệm này và chạy chúng, thì sẽ không mất hơn một hoặc hai giờ tùy thuộc vào độ phức tạp của trường hợp thử nghiệm. Vì vậy, đó là lúc thử nghiệm trên nhiều trình duyệt xuất hiện.



Bây giờ, hãy tiến xa hơn và xem tại sao bạn cần Kiểm tra trình duyệt chéo trong Selenium.

Tại sao bạn cần Kiểm tra trình duyệt chéo?

Mỗi trang web đều bao gồm ba công nghệ chính, tức là HTML5, CSS3 và . Tuy nhiên, có n số công nghệ trong phần phụ trợ như , Ruby , vv có thể được sử dụng. Tuy nhiên, trong giao diện người dùng và kết xuất, chỉ có ba công nghệ này được sử dụng.



Ngoài ra, mỗi trình duyệt sử dụng một công cụ kết xuất hoàn toàn khác nhau để tính toán ba công nghệ này. Ví dụ: Chrome sử dụng Blink, Firefox sử dụng Gecko và IE sử dụng HTML cạnh và Chakra, vì đó cùng một trang web sẽ được hiển thị hoàn toàn khác nhau bởi tất cả các trình duyệt khác nhau này. Và đó chính xác là lý do tại sao bạn cần thử nghiệm trên nhiều trình duyệt. Điều đó có nghĩa là trang web sẽ hoạt động hoàn toàn tốt, trong tất cả các phiên bản trình duyệt khác nhau và trong các hệ điều hành khác nhau. Vì vậy, để đảm bảo rằng nó hoạt động tốt, cần phải kiểm tra trình duyệt chéo.

Cùng với đó, tôi đã liệt kê một số lý do cho thấy sự cần thiết của Kiểm tra trình duyệt chéo.

  • Khả năng tương thích của trình duyệt với các hệ điều hành khác nhau.
  • Định hướng hình ảnh.
  • Mỗi trình duyệt có một hướng Javascript khác nhau đôi khi có thể gây ra sự cố.
  • Kích thước phông chữ không khớp hoặc không được hiển thị đúng cách.
  • Khả năng tương thích với khuôn khổ web mới.

Bây giờ, hãy tiến xa hơn và hiểu cách thực hiện Kiểm tra trình duyệt chéo.

Làm thế nào để thực hiện kiểm tra trình duyệt chéo?

Kiểm tra nhiều trình duyệt về cơ bản là chạy cùng một tập hợp các trường hợp kiểm tra nhiều lần trên các trình duyệt khác nhau. Loại nhiệm vụ lặp đi lặp lại này phù hợp nhất cho . Do đó, việc thực hiện thử nghiệm này bằng cách sử dụng các công cụ sẽ hiệu quả hơn về chi phí và thời gian. Bây giờ, hãy xem cách nó được thực hiện bằng cách sử dụng trình điều khiển web selen.

Bước 1 : 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.

Bước 2: Để thực hiện các trường hợp thử nghiệm 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 tôi có thể tích hợp Khung testNG với Selenium WebDriver.

Bước 3: Cuối cùng, bạn có thể viết các trường hợp thử nghiệm và thực thi mã.

Bây giờ, hãy xem cách thực hiện kiểm tra nhiều trình duyệt của trang web Edureka trên ba trình duyệt khác nhau

Demo sử dụng Selenium WebDriver

package co.edureka.pages import java.util.concurrent.TimeUnit import org.openqa.selenium.By import org.openqa.selenium.WebDriver import org.openqa.selenium.WebElement import org.openqa.selenium.chrome.ChromeDriver import org .openqa.selenium.edge.EdgeDriver import org.openqa.selenium.firefox.FirefoxDriver import org.testng.annotations.BeforeTest import org.testng.annotations.Parameters import org.testng.annotations.Test public class CrossBrowserScript {WebDriver driver / * * * Chức năng này sẽ thực thi trước mỗi thẻ Kiểm tra trong trình duyệt testng.xml * @param * @throws Exception * / @BeforeTest @Parameters ('browser') public void setup (String browser) ném Exception {// Kiểm tra xem thông số được truyền từ TestNG là 'firefox' if (browser.equalsIgnoreCase ('firefox')) {// tạo phiên bản firefox System.setProperty ('webdriver.gecko.driver', 'C: geckodriver-v0.23.0-win64geckodriver.exe') driver = new FirefoxDriver ()} // Kiểm tra xem tham số có được truyền là 'chrome' hay không if (browser.equalsIgnoreCase ('chrome')) {// se t đường dẫn đến chromedriver.exe System.setProperty ('webdriver.chrome.driver', 'C: Selenium-java-edurekaNew folderchromedriver.exe') driver = new ChromeDriver ()} else if (browser.equalsIgnoreCase ('Edge')) {// đặt đường dẫn đến Edge.exe System.setProperty ('webdriver.edge.driver', 'C: Selenium-java-edurekaMicrosoftWebDriver.exe') span style = 'font-family: verdana, geneva, sans-serif font- size: 14px '& ampgt // tạo phiên bản Edge & amplt / span & ampgt driver = new EdgeDriver ()} else {// Nếu không có trình duyệt nào thông qua, hãy ném ngoại lệ, hãy ném ngoại lệ mới (' Trình duyệt không đúng ')} driver.manage (). timeouts () .implicitWait (10, TimeUnit.SECONDS)} @Test public void testParameterWithXML () ném InterruptException {driver.get ('https://www.edureka.co/') WebElement Login = driver.findElement (By.linkText ('Log Trong ')) // Nhấn nút đăng nhập Login.click () Thread.sleep (4000) WebElement userName = driver.findElement (By.id (' si_popup_email '))) // Điền tên người dùng userName.sendKeys (' id email của bạn ' ) Thread.sleep (4000) // Tìm mật khẩu'WebElement password = driver.findElement (By.id ('si_popup_passwd')) // Điền mật khẩu password.sendKeys ('mật khẩu của bạn') Thread.sleep (6000) WebElement Next = driver.findElement (By.xpath ('// button [ @ class = 'clik_btn_log btn-block'] ')) // Nhấn nút tìm kiếm Next.click () Thread.sleep (4000) WebElement search = driver.findElement (By.cssSelector (' # search-inp ')) // Điền vào hộp tìm kiếm search.sendKeys ('Selenium') Thread.sleep (4000) // Nhấn nút tìm kiếm WebElement searchbtn = driver.findElement (By.xpath ('// span [@ class =' ​​typeahead__button ']')) searchbtn. nhấp chuột() } }

Trong đoạn mã trên, tôi đang thực hiện các hành động trên Edureka trang web như đăng nhập vào trang web và tìm kiếm khóa học Selenium. nhưng, tôi muốn kiểm tra khả năng tương thích giữa nhiều trình duyệt trên ba trình duyệt khác nhau, tức là Google Chrome, Mozilla Firefox và Microsoft Edge. Đó là lý do tại sao tôi đã đặt thuộc tính hệ thống của tất cả 3 trình duyệt trong mã của mình. Sau đó, sử dụng bộ định vị, tôi đang thực hiện các hành động trên trang web. Vì vậy, đây là tất cả về tệp lớp của tôi. Bây giờ để thực thi chương trình, bạn cần có tệp XML TestNG chứa các phần phụ thuộc của tệp lớp trên. Đoạn mã dưới đây mô tả tệp TestNG.

 

Trong tệp XML ở trên, tôi đang chỉ định các lớp khác nhau cho các ổ đĩa để nó sẽ giúp chúng tôi khởi tạo trình duyệt để thực thi các trường hợp thử nghiệm trên trang web. Đó là cách nó hoạt động.

Với điều này, chúng ta sẽ kết thúc bài viết này về Kiểm tra trình duyệt chéo bằng cách sử dụng . Tôi hy vọng bạn đã hiểu các khái niệm và nó làm tăng giá trị kiến ​​thức của bạn.

java với sức mạnh của

Nếu bạn muốn tìm hiểu về Selenium và xây dựng sự nghiệp trong lĩnh vực thử nghiệm, hãy xem trực tuyến, tương tác của chúng tôi ở đây, đi kèm với hỗ trợ 24 * 7 để hướng dẫn bạn trong suốt thời gian học tập của bạn.

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần nhận xét của bài viết Kiểm tra trình duyệt chéo bằng Selenium và chúng tôi sẽ liên hệ lại với bạn.