Các lệnh truy vấn trong Selenium WebDriver Java

Anh Tester chia sẻ cho các bạn mới học Selenium Java danh sách các lệnh có sẵn (Cheat Sheet) trong Selenium WebDriver và cách sử dụng của chúng.

1. get(String s)

Lệnh này được sử dụng để mở bất kỳ URL trang web nào

driver.get (“https://course.devfourm.info”) ;


2. navigate().to(Url url)

Để điều hướng đến một URL trang web cụ thể, người ta có thể sử dụng lệnh sau:

driver.
navigate().to("https://course.devfourm.info/blogs");


3. navigate().forward()

Lệnh chuyển tiếp điều hướng trình duyệt chuyển tiếp theo một trang được ghi trong lịch sử duyệt web.

driver.navigate().forward();


4. navigate().back()

Lệnh quay lại hướng dẫn trình duyệt chuyển hướng đến trang web trước đó ngay lập tức.

driver.navigate().back();


5. navigate().refresh()

Lệnh Refresh trình duyệt, tải lại hoặc làm mới trang web hiện tại.

driver.navigate().refresh();


6. getTitle()

Phương thức này tìm nạp Tiêu đề của trang hiện tại. Không chấp nhận tham số và trả về giá trị Chuỗi.

String title = driver.getTitle();


7. getCurrentUrl()

Phương thức này tìm nạp chuỗi đại diện cho URL hiện tại được mở trong trình duyệt. Không chấp nhận tham số và trả về một chuỗi

String url = driver.getCurrentUrl();


8. getPageSource()

Phương thức này trả về Mã nguồn của trang. Không chấp nhận tham số và trả về giá trị Chuỗi.

String source = driver.getPageSource();


9. close()

Phương thức này chỉ đóng cửa sổ hiện tại mà WebDriver đang kiểm soát.

driver.close();


10. quit()

Phương pháp này Đóng tất cả các cửa sổ do WebDriver mở.

driver.quit();


11. clear()

Phương thức này xóa các giá trị trong một phần tử.

WebElement txtUsername = driver.findElement(By.id("Username"));
txtUsername.clear();


12. sendKeys(charSequence…charSequences)

Lệnh này cho phép nhập vào một phần tử, có thể đặt giá trị của nó (trong ngoặc kép). Phương thức này chấp nhận charSequence làm tham số và không trả về gì.

(CharSequence Interface được sử dụng để biểu diễn chuỗi các ký tự. Nó được cài đặt bởi các lớp String, StringBuffer và StringBuilder. Điều này có nghĩa là chúng ta có thể tạo chuỗi ký tự trong java bằng cách sử dụng 3 lớp này. String là bất biến (immutable) tức là không thể thay đổi.)

WebElement txtUsername = driver.findElement(By.id("username"));
txtUsername.sendKeys("QASCRIPT");

Để nhấn bất kỳ phím nào từ bàn phím bằng phím gửi:

WebElement btnLogin = driver.findElement(By.id("submit"));
btnLogin.sendKeys(Keys.Enter);


13. click()

Lệnh này mô phỏng sự kiện nhấp chuột trên bất kỳ phần tử nào.

WebElement btnLogin = driver.findElement(By.id("submit"));
btnLogin.click();


14. isDisplayed()

Phương pháp này xác định xem một phần tử hiện đang được hiển thị hay không trong trang web. Nó trả về TRUE/FALSE.

boolean status = driver.findElement(By.id("login")).isDisplayed();


15. isEnabled()

Phương pháp này xác định xem phần tử hiện đang được Bật hay không trong trang web.

boolean status = driver.findElement(By.id("login")).isEnabled();


16. isSelected()

Phương thức này xác định xem phần tử có được chọn hay không. Thao tác này chỉ áp dụng cho các phần tử đầu vào như Checkboxes, Select Options, and Radio Buttons.

boolean status = driver.findElement(By.id("male")).isSelected();


17. submit()

Phương thức này hoạt động tốt / tốt hơn click () nếu phần tử hiện tại là một biểu mẫu hoặc một phần tử trong một biểu mẫu. (Form)

driver.findElement(By.id("submitbutton")).submit();


18. getText()

Phương thức này sẽ tìm nạp văn bản của phần tử đã cho và trả về một giá trị chuỗi.

String text = driver.findElement(By.id("logo")).getText();


19. getTagName()

Phương thức này lấy tên thẻ của phần tử.

String tag = driver.findElement(By.id("submit").getTagName();


20. getCssValue()

Phương thức này Tìm nạp giá trị thuộc tính CSS của phần tử cho.

driver.findElement(By.id("element")).getCssValue();


21. getAttribute()

Phương thức này nhận giá trị của thuộc tính đã cho của phần tử.

String val = driver.findElement(By.id("button")).getAttribute("name");


22. getSize()

Phương thức này tìm nạp chiều rộng và chiều cao của phần tử được hiển thị.

Dimensions dimension = driver.findElement(By.id("button")).getSize();
System.out.println("Height: " + dimenstion.height + "Width: " + dimension.width);


23. getLocation()

Phương pháp này xác định vị trí của phần tử trên trang. Trả về tọa độ X, Y

WebElement element = driver.findElement(By.id("SubmitButton"));
Point point = element.getLocation();
System.out.println("X cordinate : " + point.x + "Y cordinate: " + point.y);


24. selectByVisibleText(String s)

Phương thức này chọn tùy chọn hiển thị văn bản phù hợp với tham số.

Select ddCountries = new Select(driver.findElement(By.id("country")));
ddCountries.selectByVisibleText("VN");


25. deselectByVisibleText(String text)

Phương pháp này bỏ chọn tùy chọn hiển thị văn bản phù hợp với tham số.

Select ddCountries = new Select(driver.findElement(By.id("country")));
ddCountries.deselectByVisibleText("VN");


26. selectByIndex(int index)

Phương pháp này chọn tùy chọn phù hợp với chỉ số đã cho.

Select ddCountries = new Select(driver.findElement(By.id("country")));
ddCountries.selectByIndex(1);


27. deselectByIndex(int index)

Phương pháp này bỏ chọn tùy chọn phù hợp với chỉ mục đã cho.

Select ddCountries = new Select(driver.findElement(By.id("country")));
ddCountries.deselectByIndex(1);


28. selectByValue(String value)

Phương pháp này chọn tùy chọn phù hợp với giá trị đã cho.

Select ddCountries = new Select(driver.findElement(By.id("city")));
ddCountries.selectByValue("London");


29. deselectByValue(String value)

Phương pháp này bỏ chọn tùy chọn phù hợp với giá trị đã cho.

Select ddCountries = new Select(driver.findElement(By.id("city")));
ddCountries.deselectByValue("London");


30. getAllSelectedOptions()

Phương thức này trả về danh sách tất cả các tùy chọn đã chọn được liên kết với thẻ Chọn.

Select ddCountries = new Select(driver.findElement(By.id("city")));
List<WebElement> allSelectedOptions = ddCountries.getAllSelectedOptions()


31. getFirstSelectedOption()

Phương thức này trả về tùy chọn đã chọn đầu tiên được liên kết với thẻ Chọn.

Select ddCountries = new Select(driver.findElement(By.id("city")));
WebElement selectedOption = ddCountries.getFirstSelectedOption();


32. deselectAll()

Phương pháp này bỏ chọn tất cả các tùy chọn đã chọn được liên kết với thẻ Chọn.

Select ddCountries = new Select(driver.findElement(By.id("city")));
WebElement selectedOption = ddCountries.deselectAll();


33. getOptions()

Phương thức trả về danh sách tất cả các thẻ tùy chọn được liên kết với thẻ Chọn.

Select ddCountries = new Select(driver.findElement(By.id("city")));
List<WebElement> allOptions = ddCountries.getOptions();


34. isMultiple()

Phương thức này cho biết phần tử SELECT có hỗ trợ nhiều tùy chọn lựa chọn cùng một lúc hay không.

Select ddCountries = new Select(driver.findElement(By.id("city")));
ddCountries.isMultiple();


35. manage().timeouts().implicitlyWait(long l, TimeUnit timeunit)

Sự chờ đợi ngầm sẽ yêu cầu trình điều khiển web đợi trong một khoảng thời gian nhất định trước khi nó thông báo "Không tìm thấy element". Cài đặt mặc định là 0. Sau khi chúng ta đặt thời gian, trình điều khiển web sẽ đợi thời gian đó trước khi đưa ra một ngoại lệ. (Thông báo không tìm thấy)

driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);


36. manage().timeouts().pageLoadTimeout(long l, TimeUnit timeunit)

Phương pháp này đặt khoảng thời gian chờ tải trang hoàn tất trước khi báo lỗi.

driver.manage().timeouts().pageLoadTimeout(5, TimeUnit.SECONDS);


37. manage().timeouts().SetScriptTimeout(long l, TimeUnit timeunit)

Phương thức này đặt khoảng thời gian để đợi một tập lệnh không đồng bộ kết thúc quá trình thực thi trước khi đưa ra lỗi. Nếu thời gian chờ là âm, thì tập lệnh sẽ được phép chạy vô thời hạn.

driver.manage().timeouts().setScriptTimeout(5, TimeUnit.SECONDS);


38. manage().window().maximize()

Phương pháp này sẽ tối đa hóa (bung hết cỡ) cửa sổ hiện tại của trình duyệt.

driver.manage().window().maximize();


39. manage().window().fullscreen()

Phương thức này sẽ hiển thị toàn màn hình cửa sổ hiện tại nếu nó chưa ở chế độ toàn màn hình

driver.window().fullscreen();


40. manage().window().getPosition()

Phương thức này sẽ Lấy vị trí của cửa sổ hiện tại, so với góc trên bên trái của màn hình.

Point point = driver.manage().window().getPosition();
System.out.println(“X offset : “+point.x);
System.out.println(“Y offset : “+ point.y);


41. manage().window().setPosition()

Được sử dụng để đặt vị trí của cửa sổ hiện tại, so với góc trên bên trái của màn hình.

Point newPoint = new Point(300, 500);
driver.manage().window().setPosition(newPoint);


42. manage().window().setSize()

Được sử dụng để đặt kích cỡ của cửa sổ hiện tại

Point newPoint =
new Point(300, 500);
driver.manage().window().setSize(newDimension);


43. manage().deleteAllCookies()

Phương pháp này xóa tất cả cookie của trình duyệt

driver.manage().deleteAllCookies();


44. manage().deleteCookie(Cookie cookie)

Phương pháp này xóa cookie cụ thể.

driver.manage().deleteCookie(arg0);


45. manage().deleteCookieNamed(String s)

Phương pháp này xóa cookie cụ thể theo tên.

driver.manage().deleteCookieNamed(arg0);


46. manage().getCookies()

Phương thức này trả về danh sách tất cả cookie.

driver.manage().getCookies();


47. manage().getCookieNamed(String s)

Phương thức này trả về cookie cụ thể theo tên

driver.manage().getCookieNamed(arg0);


48. findElement()

Một lệnh cơ bản thường dùng nhất Selenium. Được sử dụng để xác định duy nhất một phần tử web trong trang web.

WebElement element = driver.findElement(By.id("login"));

Bộ định vị Selenium được sử dụng để tìm và so khớp các phần tử trang web mà Selenium tương tác. Sau đây là một số định vị trong Selenium Java:
  • Locating by ID
driver.findElement(By.id("q")).sendKeys("VTA Courses");
  • Locating by Name
driver.findElement(By.name("q")).sendKeys("VTA Courses");
  • Locating by Xpath
driver.findElement(By.xpath("//input[@id='q'])).sendKeys("VTA Courses");
  • Locating Hyperlinksby Link Text
driver.FindElement(By.LinkText("edit this page")).Click();
  • Locating by DOM
dom =document.getElementById('signinForm')
  • Locating by CSS
driver.FindElement(By.CssSelector("#rightbar> .menu >li:nth-of-type(2) > h4"));
  • Locating by ClassName
driver.findElement(By.className("profileheader"));
  • Locating by TagName
driver.findElement(By.tagName("select")).C lick();
  • Locating by LinkText
driver.findElement(By.linkText("NextPage")).click();
  • Locating by PartialLinkText
driver.findElement(By.partialLinkText("NextP")).click();

49. findElements()

Lệnh này được sử dụng để xác định danh sách các phần tử web trong trang web. (nhiều phần tử chung)

List<WebElement> elements = driver.findElements(By.tag("a"));


50. getWindowHandle()

Hàm này tìm nạp xử lý của trang web được lấy nét. Nó lấy địa chỉ của trình duyệt đang hoạt động và nó có kiểu trả về là Chuỗi.

String handle = driver.getWindowHandle();


51. getWindowHandles()

Còn hàm này nó lưu trữ tập hợp các chốt cho tất cả các trang được mở đồng thời.

Set<String> handles = driver.getWindowHandles();


52. switchTo().activeElement()

Chuyển sang phần tử hiện có tiêu điểm trong tài liệu hiện được “chuyển sang” hoặc phần tử nội dung nếu không thể phát hiện ra điều này.

driver.switchTo().activeElement();


53. switchTo().alert()

Phương pháp chuyển sang cảnh báo bật lên.

Alert alert = driver.switchTo().alert();


54. switchTo().defaultContent()

Chọn khung đầu tiên trên trang hoặc tài liệu chính khi trang chứa iframe.

driver.switchTo.defaultContent();


55. switchTo().frame()

Phương pháp chuyển sang khung khác bằng cách sử dụng tên khung.

driver.switchTo().frame("frameName");


56. switchTo().parentFrame()

Phương pháp thay đổi tiêu điểm sang ngữ cảnh gốc.

driver.switchTo().parentFrame();


57. switchTo().window()

Phương pháp chuyển sang cửa sổ khác bằng cách sử dụng tay cầm cửa sổ hoặc tên.

driver.switchTo().window("windowName");


Anh Tester đang cập nhật thêm. Vì nó nhiều quá =))

Nếu bạn biết bất kỳ lệnh Selenium cho Java nào khác bị thiếu trong danh sách trên, vui lòng để lại bình luận bên dưới. Cảm ơn rất nhiều !!!

  • Anh Tester

    Đường dẫu khó chân vẫn cần bước đi
    Đời dẫu khổ tâm vẫn cần nghĩ thấu