Browser Command Part 2
Duy Văn | 27/03/2025
Trong Selenium có một nhóm các method rất mạnh mà nhiều bạn khi học auto test hay học dùng Selenium bỏ qua ban đầu, đó là nhóm method để định hướng trong trình duyệt
Nhóm method này nằm ở trong Nested Class Navigation thuộc WebDriver, trong số đó, hay dùng nhất có:
back():voidforward():voidrefresh():voidto(String url):voidto(URL url):void
to(String url):void
Method này sẽ mở một trang web với đường dẫn được truyền vào, nó khác so với method get của webdriver
WebDriver driver = new ChromeDriver();
driver.get("https://www.google.com");
driver.navigate().to("https://www.facebook.com");
Khác biệt giữa to của Navigation và get là :
getload một url mới,tosinh ra là để định hướng giữa các trang và thực hiện refreshgetkhông hỗ trợ browser history,tothì cótocung cấp khả năng refresh trang,getthì khônggetđợi trang được load hoàn toàn, ` to` có nhiều lựa chọn hơn- Coookies của
getsẽ bị xoá sau mỗi lần load,tothì không, cookies và sessions sẽ được giữ lại
Bình thường chúng ta sẽ sử dụng get để mở trang lần đầu, rồi từ sau đó sẽ sử dụng to để định hướng giữa các trang, hành động với Navigation cũng gần hơn với hành vi của người dùng thật
back():void
Method này thực hiện thao tác y như việc ấn nút back trên trình duyệt, nó đưa chúng ta đến trang trước đó trong lịch sử trình duyệt, hay có thể hiểu là back về một trang trước đó
WebDriver driver = new ChromeDriver();
driver.get("https://www.google.com");
driver.navigate().to("https://www.facebook.com");
driver.navigate().back();
forward():void
Method này thực hiện thao tác y như việc ấn nút forward trên trình duyệt, nó đưa chung ta đến trang đứng trước trong lịch sử trình duyệt. Lưu ý là nếu trang đã là mới nhất trong lịch sử thì method này sẽ không làm gì cả
WebDriver driver = new ChromeDriver();
driver.get("https://www.google.com");
driver.navigate().to("https://www.facebook.com");
driver.navigate().back();
driver.navigate().forward();
refresh():void
Method này sẽ thực hiện hành động refresh trang, nó tương đương với việc ấn nút refresh trên trình duyệt
WebDriver driver = new ChromeDriver();
driver.get("https://www.google.com");
driver.navigate().refresh();
Method rất mạnh và ứng dụng nhiều trong kiểm thử, vì sẽ có nhiều test case cần phải refresh trang để kiểm tra xem trang web có hoạt động đúng như mong muốn không, ví dụ như kiểm tra trang web có hiển thị thông báo mới hay không