C#學習筆記
環境 |
Visual Studio 2017 C# |
目的: |
1. 認識Selenium 自動化工具在C#中的實現 |
應用: | 自動進行登入網站 |
Github: | |
DEMO影片: | |
本篇分為三部分: | |
一、 | C# Selenium 安裝 |
二、 | C# 程式碼說明 |
三、 | DEMO 自動登入,達到自動化測試應用 |
一、C# Selenium 安裝
Step 1:新增專案 -> 管理Nuget套件
Step 2: 瀏覽 -> 安裝以下:
1. Selenium.WebDriver
2. Selenium.Chrome.WebDrier (※我們要使用Chrome )
二、 C# 程式碼架構
Step 1:目標測試網頁 https://louislinebot.azurewebsites.net/Login
Step 2: 實作一個Function ,進行Selenium 的呼叫程式自動登入,完整程式如下:
/// <summary>
/// 進行登入
/// </summary>
public void Login()
{
IWebDriver driver = new ChromeDriver();
//開啟網頁
driver.Navigate().GoToUrl(_url);
//隱式等待 - 直到畫面跑出資料才往下執行
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10000);
//輸入帳號
IWebElement inputAccount = driver.FindElement(By.Name("Account"));
Thread.Sleep(2000);
//清除按鈕
inputAccount.Clear();
Thread.Sleep(2000);
inputAccount.SendKeys("20180513");
Thread.Sleep(2000);
//輸入密碼
IWebElement inputPassword = driver.FindElement(By.Name("Passwrod"));
inputPassword.Clear();
Thread.Sleep(2000);
inputPassword.SendKeys("123456");
Thread.Sleep(2000);
//點擊執行
IWebElement submitButton= driver.FindElement(By.XPath("/html/body/div[2]/form/table/tbody/tr[4]/td[2]/input"));
Thread.Sleep(2000);
submitButton.Click();
Thread.Sleep(2000);
driver.Quit();
}
Step 3:呼叫Selenium Driver ,這邊使用ChromeDriver()
IWebDriver driver = new ChromeDriver();
//開啟網頁
driver.Navigate().GoToUrl(_url);
//隱式等待 - 直到畫面跑出資料才往下執行
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10000);
Step 4:找出頁面的【帳號】輸入位置 TextBox ※ Dom元件的 Id = Account
//輸入帳號
IWebElement inputAccount = driver.FindElement(By.Name("Account"));
Thread.Sleep(2000);
//清除按鈕
inputAccount.Clear();
Thread.Sleep(2000);
inputAccount.SendKeys("20180513");
Thread.Sleep(2000);
Step 5:找出頁面的【密碼】輸入位置 TextBox ※ Dom元件的Id = Password
//輸入密碼
IWebElement inputPassword = driver.FindElement(By.Name("Passwrod"));
inputPassword.Clear();
Thread.Sleep(2000);
inputPassword.SendKeys("123456");
Thread.Sleep(2000);
Step 6:找出頁面的【submit】按鈕 ,並且點擊他
//點擊執行
IWebElement submitButton= driver.FindElement(By.XPath("/html/body/div[2]/form/table/tbody/tr[4]/td[2]/input"));
Thread.Sleep(2000);
submitButton.Click();
Thread.Sleep(2000);
Step 7 : 關閉,避免下次開啟執行失敗
driver.Quit();
三、 DEMO 自動登入,達到自動化測試應用
Step 1:執行畫面 (可參考影片)
Step 2:影片DEMO
https://www.youtube.com/watch?v=TFfN4NUNJuE