Testing trên trình duyệt Chrome
Trong phần này, bạn sẽ học cách chạy Tập lệnh testing Selenium trên trình duyệt Chrome.
Trình duyệt Chrome triển khai giao thức WebDriver bằng cách sử dụng tệp thực thi được gọi là ChromeDriver.exe . Tệp thực thi này khởi động một máy chủ trên hệ thống của bạn, máy chủ này sẽ chịu trách nhiệm chạy các tập lệnh thử nghiệm của bạn trong Selenium.
Hãy để chúng tôi xem xét một trường hợp thử nghiệm trong đó chúng tôi sẽ cố gắng tự động hóa các tình huống sau trong trình duyệt Google Chrome.
- Khởi chạy trình duyệt Chrome.
- Tối đa hóa trình duyệt.
- Mở URL: www.websitehcm.com
- Cuộn xuống trang web
- Nhấp vào liên kết “Core Java” từ phần Công nghệ Java.
Chúng tôi sẽ tạo trường hợp thử nghiệm thứ ba trong cùng một bộ thử nghiệm (Demo_Test).
Bước 1 . Nhấp chuột phải vào thư mục “src” và tạo một tệp lớp mới từ New> Class.
Đặt tên Lớp của bạn là “third” và nhấp vào nút “finish”.
Bước 2. Mở URL: https://sites.google.com/a/chromium.org/chromedriver/downloads trong trình duyệt của bạn.
Bước 3 . Nhấp vào liên kết “ChromeDriver 2.41”. Nó sẽ chuyển hướng bạn đến thư mục của các tệp thực thi ChromeDriver. Tải xuống theo hệ điều hành bạn đang làm việc.
Đối với windows, hãy nhấp vào tải xuống “chromedriver_win32.zip”.
Tệp tải xuống sẽ ở định dạng nén. Giải nén nội dung trong một thư mục thuận tiện.
Bước 4 . Đặt thuộc tính hệ thống “webdriver.chrome.driver” thành đường dẫn của tệp ChromeDriver.exe của bạn và khởi tạo lớp ChromeDriver.
Đây là một đoạn code để làm điều đó.
// System Property for Chrome Driver System.setProperty("webdriver.chrome.driver","D:\\ChromeDriver\\chromedriver.exe"); // Instantiate a ChromeDriver class. WebDriver driver=new ChromeDriver();
Bước 5 . Bây giờ nó là thời gian để viết mã. Chúng tôi đã nhúng các nhận xét cho mỗi khối mã để giải thích các bước một cách rõ ràng.
import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class Third { public static void main(String[] args) { // System Property for Chrome Driver System.setProperty("webdriver.chrome.driver", "D:\\ChromeDriver\\chromedriver.exe"); // Instantiate a ChromeDriver class. WebDriver driver=new ChromeDriver(); // Launch Website driver.navigate().to("https://www.websitehcm.com/"); //Maximize the browser driver.manage().window().maximize(); //Scroll down the webpage by 5000 pixels JavascriptExecutor js = (JavascriptExecutor)driver; js.executeScript("scrollBy(0, 5000)"); // Click on the Search button driver.findElement(By.linkText("Core Java")).click(); } }
Cửa sổ mã Eclipse sẽ giống như sau:
Bước 6 . Nhấp chuột phải vào mã Eclipse và chọn Run As> Java Application .
Bước 6 . Đầu ra của tập lệnh thử nghiệm ở trên sẽ được hiển thị trong trình duyệt Chrome.
Testing trên Trình duyệt Firefox- Trình điều khiển Gecko (Marionette)
Trong phần này, chúng ta sẽ tìm hiểu cách chạy Tập lệnh kiểm tra Selenium của bạn trên Trình duyệt Firefox.
Trước khi tiếp tục phần này, trước tiên chúng ta hãy hiểu những điều cơ bản về Gecko Driver.
Gecko Driver là gì?
Thuật ngữ Gecko dùng để chỉ công cụ trình duyệt Gecko được Mozilla Foundation phát triển như một phần của trình duyệt Mozilla.
Gecko Driver đóng vai trò là liên kết giữa các bài kiểm tra của bạn trong Selenium và trình duyệt Firefox. Nó hoạt động như một proxy giữa các máy khách tương thích với W3C WebDriver (Eclipse, Netbeans, v.v.) để tương tác với trình duyệt dựa trên Gecko (Mozilla Firefox).
Marionette (thế hệ tiếp theo của FirefoxDriver) được bật theo mặc định từ Selenium . Selenium sử dụng giao thức W3C Webdriver để gửi các yêu cầu đến GeckoDriver, chuyển chúng thành một giao thức có tên Marionette. Ngay cả khi bạn đang làm việc với các phiên bản cũ hơn của trình duyệt Firefox, Selenium 3 vẫn mong bạn đặt đường dẫn đến trình điều khiển có thể thực thi được bằng webdriver.gecko.driver .
Lưu ý: Selenium 3 đã tự nâng cấp để hiện khởi chạy trình điều khiển Firefox bằng trình điều khiển Marionette thay vì khởi tạo mặc định được hỗ trợ trước đó.
Hãy để chúng tôi xem xét một trường hợp thử nghiệm trong đó chúng tôi sẽ cố gắng tự động hóa các tình huống sau trong trình duyệt Firefox.
- Khởi chạy trình duyệt Firefox.
- Mở URL: www.websitehcm.com
- Bấm vào hộp văn bản Tìm kiếm Tuỳ chỉnh
- Nhập giá trị “Java”
- Bấm vào nút Tìm kiếm.
Chúng tôi sẽ tạo trường hợp thử nghiệm thứ hai trong cùng một bộ thử nghiệm (Demo_Test).
Bước 1 . Nhấp chuột phải vào thư mục “src” và tạo một tệp lớp mới từ New> Class.
Đặt tên Lớp của bạn là “second” và nhấp vào nút “finish”.
Bước 2 . Mở URL: https://github.com/mozilla/geckodriver/releases trong trình duyệt của bạn và nhấp vào phiên bản thích hợp để tải xuống GeckoDriver dựa trên hệ điều hành bạn hiện đang làm việc. Ở đây, chúng tôi đang tải xuống phiên bản 64bit của GeckoDriver cho windows.
Tệp tải xuống sẽ ở định dạng nén. Giải nén nội dung trong một thư mục thuận tiện.
Trước khi viết kịch bản thử nghiệm, trước tiên chúng ta hãy hiểu cách chúng ta có thể khởi tạo GeckoDriver trong Selenium. Có ba cách để khởi tạo GeckoDriver:
Sử dụng các khả năng mong muốn
Đầu tiên, chúng ta phải đặt thuộc tính hệ thống cho Gecko Driver.
System.setProperty ( "webdriver.gecko.driver" , "D: \\ GeckoDriver \\ geckodriver.exe" );
Dưới đây là mã để thiết lập trình điều khiển tắc kè bằng cách sử dụng lớp Khả năng mong muốn.
DesiredCapabilities capabilities = DesiredCapabilities.firefox(); capabilities.setCapability("marionette",true);
Đây là mã hoàn chỉnh:
System.setProperty("webdriver.gecko.driver","D:\\GeckoDriver\\geckodriver.exe" ); DesiredCapabilities capabilities = DesiredCapabilities.firefox(); capabilities.setCapability("marionette",true); WebDriver driver= new FirefoxDriver(capabilities);
Sử dụng marionette:
System.setProperty ( "webdriver.firefox.marionette" , "D: \\ GeckoDriver \\ geckodriver.exe" );
Mã cho Khả năng mong muốn không bắt buộc đối với phương pháp này.
Sử dụng Tùy chọn Firefox:
FirefoxOptions options = new FirefoxOptions(); options.setLegacy(true);
Bước 3 . Bây giờ nó là thời gian để viết mã. Chúng tôi đã nhúng các nhận xét cho mỗi khối mã để giải thích các bước một cách rõ ràng.
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.remote.DesiredCapabilities; public class Second { public static void main(String[] args) { // System Property for Gecko Driver System.setProperty("webdriver.gecko.driver","D:\\GeckoDriver\\geckodriver.exe" ); // Initialize Gecko Driver using Desired Capabilities Class DesiredCapabilities capabilities = DesiredCapabilities.firefox(); capabilities.setCapability("marionette",true); WebDriver driver= new FirefoxDriver(capabilities); // Launch Website driver.navigate().to("https://www.websitehcm.com/"); // Click on the Custom Search text box and send value driver.findElement(By.id("gsc-i-id1")).sendKeys("Java"); // Click on the Search button driver.findElement(By.className("gsc-search-button gsc-search-buttonv2")).click(); } }
Bước 4 . Nhấp chuột phải vào mã Eclipse và chọn Run As> Java Application .
Bước 5 . Kết quả của tập lệnh thử nghiệm trên sẽ được hiển thị trong trình duyệt Firefox.
Xem thêm Selenium IDE- Lệnh (Selenese)