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():void
  • forward():void
  • refresh():void
  • to(String url):void
  • to(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à :

  • get load một url mới, to sinh ra là để định hướng giữa các trang và thực hiện refresh
  • get không hỗ trợ browser history, to thì có
  • to cung cấp khả năng refresh trang, get thì không
  • get đợi trang được load hoàn toàn, ` to` có nhiều lựa chọn hơn
  • Coookies của get sẽ bị xoá sau mỗi lần load, to thì 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