Bài 2. Các thao tác cơ bản về Selenium

Giới thiệu

Trong bài viết này, chúng ta sẽ cùng nhau thực hiện tạo dự án Selenium và  thực hiện các thao tác với một số thuộc tính và phương thức Selenium cơ bản.

Mục tiêu

  • Thiết lập dự án Selenium C# thông qua Visual Stdio 2020 (hoặc tương đương)
  • Thực hành một số thuộc tính và phương thức Selenium cơ bản

Chuẩn bị

  • Máy tính cài đặt sẵn Visual Stdio 2020 (hoặc tương đương)
  • Kiến thức về lập trình C#WinForm cơ bản

Nội dung

1. Tạo dự án với Selenium C#

- Tạo dự án Windows Form App (.NET Framework)

- Đặt tên và đường dẫn tới dự án cần tạo.

- Nhấn Ctrl + Alt + X để vào Form một Button, để tên là "Start".

- Mở tab Solution Explore > Nhấp chuột phải vào References > Chọn Manage Nuget Packages.

- Sau đó bạn cài đặt Selenium.WebDriver Selenium.Chrome.WebDriver hoặc Selenium.Firefox.WebDriver (ở đây mình dùng chrome)

Lưu ý: Đối với Chrome theo phiên bản mới sẽ có Selenium.WebDriver.ChromeDriver (Tùy theo phiên bản chrome hiện tại của bạn)

2. Thao tác mở trình duyệt

Sau đó quay lại màn hình Form và nhấn vào "Start" để tạo phương thức cho Button "Start" 

// Thao tác với FireFox
FirefoxDriver firefoxDriver = new FirefoxDriver();

// Thao tác với Chrome
ChromeDriver chromeDriver = new ChromeDriver();

- Chạy dự án và nhấn vào "Start" Button và ta có kết quả:

3. Navigate tới một đường dẫn chỉ định

// Thao tác với FireFox
// FirefoxDriver firefoxDriver = new FirefoxDriver();
// firefoxDriver.Navigate().GoToUrl("http://www.google.com.vn/");

// Thao tác với Chrome
ChromeDriver chromeDriver = new ChromeDriver();
chromeDriver.Navigate().GoToUrl("http://www.google.com.vn/");

4. Một số thuộc tính và phương thức cơ bản trong Selenium

- Lấy Source page hiện tại:

driver.PageSource

- Lấy địa chỉ URL hiện tại:

driver.Url

- Chuyển tới trang trước đó:

driver.Navigate().Back()

- Chuyển tới trang sau đó:

driver.Navigate().Forwad()

- F5 (Refresh) lại trang:

driver.Navigate().Refresh()

- Xử lý arlet:

IAlert a = driver.SwitchTo().Alert();
a.Accept();
a.Dismiss();

- Chuyển đổi giữa các cửa sổ hoặc tab:

ReadOnlyCollection<string> windowHandles = driver.WindowHandles;
string firstTab = windowHandles.First();
string lastTab = windowHandles.Last();
driver.SwitchTo().Window(lastTab);

- Maximize window:

this.driver.Manage().Window.Maximize();

- Add cookies:

Cookie cookie = new OpenQA.Selenium.Cookie("key", "value");
this.driver.Manage().Cookies.AddCookie(cookie);

- Get all cookies:

var cookies = this.driver.Manage().Cookies.AllCookies;

- Delete cookie:

this.driver.Manage().Cookies.DeleteCookieNamed("CookieName");

- Delete all cookies:

this.driver.Manage().Cookies.DeleteAllCookies();

- Chụp màn hình:

Screenshot screenshot = ((ITakesScreenshot)driver).GetScreenshot();
screenshot.SaveAsFile(@"pathToImage", ImageFormat.Png);

- Đợi đến khi Website load xong hết các đoạn JavaScript:

WebDriverWait wait = new WebDriverWait(this.driver, TimeSpan.FromSeconds(30));

wait.Until((x) =>

{

 return ((IJavaScriptExecutor)this.driver).ExecuteScript("return document.readyState").Equals("complete");

});


- Chuyển đổi giữa các frames:

this.driver.SwitchTo().Frame(1);
this.driver.SwitchTo().Frame("frameName");
IWebElement element = this.driver.FindElement(By.Id("id"));
this.driver.SwitchTo().Frame(element);

- Chuyển tới document mặc định:

this.driver.SwitchTo().DefaultContent();

Kết Luận

Trong bài viết này, chúng ta đã cùng nhau tìm hiểu cách thiết lập và tạo dự án Selenium C# thông qua Visual Studio 2020, từ việc tạo dự án Windows Form App đến việc cài đặt các thư viện cần thiết như Selenium.WebDriverSelenium.Chrome.WebDriver. Ngoài ra, chúng ta cũng đã thực hiện các thao tác cơ bản với Selenium như mở trình duyệt, điều hướng tới các URL chỉ định, và sử dụng một số thuộc tính và phương thức hữu ích của Selenium để tương tác với trình duyệt.

Những kiến thức và kỹ năng cơ bản này sẽ là nền tảng giúp bạn tiến xa hơn trong việc tự động hóa kiểm thử phần mềm với Selenium. Bạn có thể áp dụng chúng trong các dự án thực tế để kiểm tra và đảm bảo chất lượng sản phẩm của mình. Hãy tiếp tục thực hành và khám phá thêm các tính năng nâng cao của Selenium để nâng cao hiệu suất và khả năng kiểm thử tự động của bạn.


Tác giả: Đỗ Thiên Giang

Chú ý: Tất cả các bài viết trên TEDU.COM.VN đều thuộc bản quyền TEDU, yêu cầu dẫn nguồn khi trích lại trên website khác.

Lên trên