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à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 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.