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#vàWinFormcơ 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 và 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.WebDriver và Selenium.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.
Bài viết liên quan
Hiểu về AI, LLM, RAG và Agentic RAG trong 15 phút
Trong vài năm gần đây, trí tuệ nhân tạo (AI) đã bùng nổ mạnh mẽ và trở thành tâm điểm của cả thế giới công nghệ. Nhưng đi kèm với nó là hàng loạt khái niệm mới như LLM, RAG, hay Agentic RAG khiến nhiều người mới bắt đầu cảm thấy lúng túng.
Đọc thêm
Hướng dẫn tự triển khai N8N trên CentOS bằng Docker Compose và NGINX
N8N là công cụ mã nguồn mở cho phép bạn tự động hóa quy trình làm việc (workflow automation) và tích hợp nhiều dịch vụ khác nhau mà không cần phải lập trình.
Đọc thêm
Hướng dẫn phân tích độ phức tạp thuật toán chi tiết
Độ phức tạp của giải thuật là một cách để đánh giá hiệu quả của một giải thuật dựa trên hai yếu tố chính là độ phức tạp thời gian và độ phức tạp không gian.
Đọc thêm
Bài 6. Các thao tác với XPath và Selector trong Selenium
Bài viết này hướng dẫn bạn làm việc XPath và Css Selector trong Selenium.
Đọc thêm
Bài 5. Các thao tác với Web Browser trong Selenium
Bài viết này hướng dẫn bạn làm việc sâu Web Browser trong Selenium.
Đọc thêm
Bài 4. Thực thi Javascript trong Selenium
Bài viết này hướng dẫn bạn thực thi lệnh Javascript trong Selenium.
Đọc thêm
Bài 3. Làm việc với Element trong Selenium
Bài viết này hướng dẫn bạn làm việc với Element trong Selenium.
Đọc thêm
Bài 1. Giới thiệu về Selenium
Bài viết giới thiệu sơ lược về chuỗi bài Selenium.
Đọc thêm
Bài 18. Xây dựng Docker Compose .NET Core Và SQL Server
Hướng dẫn xây dựng Docker Compose .NET Core Và SQL Server
Đọc thêm
Bài 17. Xây dựng Docker Compose Java Spring Boot Và MySQL
Hướng dẫn xây dựng Docker Compose Java Spring Boot Và MySQL
Đọc thêm