Mục đích Selenium ra đời là giúp cho các Tester có thể tạo ra các đoạn Script tự động thao tác với web browsers để kiểm thử các giá trị cho website của mình có chính xác như mong muốn hay không
Selenium có khả năng như một web browser bình thường (vì nó dùng chính Webbrowser của bạn mà sao không bình thường được). Nhưng được kết hợp thêm khả năng thao tác và tùy chỉnh gần như mọi thứ với web browser này thông qua lớp có WebDriver kế thừa từ Interface IWebDriver. Các WebDriver này có thể là: ChromeDriver, FirefoxDriver ...
Các WebDriver này cung cấp các phương thức và thuộc tính cần thiết cho việc gửi phím bấm của bàn phím, click chuột.
Với Selenium bạn hoàn toàn có thể tạo ra các tools (chương trình tự động) tạo account google, facebook, tools tự động offer, tool tự động mua coin ICO, và nhiều tool tự động khác tùy theo nhu cầu riêng.
Bài này hướng dẫn các bước cơ bản nhất để bạn có thể làm việc với Selenium sử dụng ngôn ngữ C#
Các công cụ cần thiết
Tải và cài đặt Google Chrome mới nhất ở link sauwww.google.com/chrome
Tải và cài đặt Chrome Driver phù hợp với phiên bản Google Chrome bên trên
https://chromedriver.chromium.org/downloads
Tạo ứng dụng đơn giản
Tạo một app console đơn giản
dotnet new console -o SeleniumTest
cd SeleniumTest
Cài đặt Selenium WebDriver Package
Từ Package Manager Console
Install-Package Selenium.WebDriver
Từ CLI
dotnet add package Selenium.WebDriver
Selenium WebDriver Package hỗ trợ .NET Standard nên bạn có thể áp dụng chúng cho hầu hết các project của bạn
Chỉnh sửa file Program.cs sử dụng đoạn code đơn giản sau. Chú ý sửa đường dẫn của Chrome Driver cho phù hợp
Đoạn code này thực hiện việc đơn giản là mở trình duyệt lên và vào trang https://www.dotnetcoban.com/
Chạy project và kiểm tra kết quả
dotnet run
Bạn có thể tham khảo và và tải về code mẫu ở đây
Tất nhiên là Selenium hỗ trợ rất nhiều các thao tác khác. Bạn có thể tham khảo thêm thông tin trên trang chủ
https://www.seleniumhq.org/docs/
https://github.com/SeleniumHQ/selenium
Công cụ có chức năng tương tự có thể tham khảo
Puppeteer Sharp
Tiếp tục cập nhật ...