目錄
介紹
背景
使用代碼
Selenium IDE
限制
Selenium網絡驅動程式
興趣點
優點
結論
介紹
Selenium是一套用于Web浏覽器自動化的工具,它使用可用的最佳技術遠端控制浏覽器執行個體并模拟使用者與浏覽器的互動。它是最廣泛使用的自動化測試工具。
Selenium提供三個主要工具:
- Selenium IDE
- Selenium Web驅動程式
- Selenium Grid
本文解釋了Selenium IDE和Webdriver。
背景
大多數項目中都有在新更改釋出時進行回歸測試的場景。自動化工具幫助我們減少測試時間、錯誤并提高品質。
使用代碼
Selenium IDE
Selenium IDE是一個浏覽器插件,用于記錄和回放使用者與浏覽器的互動。讓我們看看如何在Chrome浏覽器中使用Selenium IDE。
1、在Chrome中添加Selenium IDE擴充:打開Chrome浏覽器 ->擴充-> 打開Chrome Web Store -> 搜尋“Selenium IDE” ->添加到Chrome -> 你現在應該在浏覽器中看到 Selenium IDE圖示。
正在上傳…重新上傳取消
2、單擊Selenium IDE圖示 -> 單擊建立新項目-> 輸入項目名稱(例如:DemoSeleniumIDEPrj):
3、提供應用程式URL(C#示例Web應用程式項目可以從sampleaspnetwebapplication下載下傳)。這個示例應用程式有一個登入頁面和一個首頁。單擊右上角的Rec。這應該會在浏覽器中打開應用程式登入頁面。
4、輸入使用者名和密碼 -> 點選送出。應用程式重定向到員工清單頁面。
5、IDE應該會記錄以上步驟,您可以再次運作測試,看看它是否再次執行相同的步驟。成功運作應顯示測試為綠色。
selenium中的指令是使用Selenese語言編寫的。指令(例如:open、type、click等)幫助Selenium了解要執行的操作或操作。
6、Selenium IDE中的測試可以使用如下所示的一種語言導出為腳本。C# NUnit選項應該建立.cs檔案。
限制
- 無法進行資料驅動的測試。
- 無法進行資料庫測試。
- 無法在Web應用程式中測試動态操作。
- 無法導出結果報告。
- 不能将其用于大量操作。
Selenium網絡驅動程式
WebDriver是一個用于建立和運作測試的API(應用程式程式設計接口),它是一個跨平台的測試架構。它解釋指令并對Web元素執行操作。它支援Junit、NUnit、TestNG等測試架構。各種程式設計語言的WebDrivers可以從Selenium官方網站下載下傳。
WebDriver C# API 參考:Dotnet
WebDriver API指令大緻分為三類:
- 浏覽器指令
- 擷取網頁: driver.get("www.google.com")
- 擷取目前網頁标題: driver.getTitle();
- 擷取目前網頁的網址: driver.getCurrentUrl();
- 導航指令
- 重新整理目前網頁: driver.navigate().refresh();
- 單擊現有浏覽器視窗中的前進按鈕: driver.navigate().forward();
- 網絡元素指令
- 清除元素: driver.findElement(By.id("UserName")).clear();
- 點選元素: driver.findElement(By.id("UserName")).click();
網絡驅動架構:
要建立和運作C# WebDriver測試,您将需要以下内容:
- Visual Studio
- 測試架構(我們将在下面的示例中使用 NUnit)
- Selenium Web驅動程式
- Chromedriver可執行檔案
按照以下步驟設定和運作Web驅動程式測試。
1、打開Visual Studio ->建立新的類庫項目(檔案->建立->項目)
2、使用NuGet将WebDriver和NUnit架構添加到Visual Studio項目。NuGet是一個依賴管理工具,可以從存儲庫中提取所有包,如WebDriver和NUnit。單擊工具-> NuGet包管理器-> 管理NuGet包以擷取解決方案。
添加軟體包後,已安裝頁籤應顯示如下:
3、在Visual Studio項目中添加“從Selenium IDE導出的腳本(.cs檔案) ”。從Selenium IDE導出腳本将節省編碼時間。您還可以建立一個新測試并在其中編寫Selenium腳本。
腳本檔案應如下所示:
// Generated by Selenium IDE
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium.Remote;
using OpenQA.Selenium.Support.UI;
using OpenQA.Selenium.Interactions;
using NUnit.Framework;
[TestFixture]
public class DemotestTest {
private IWebDriver driver;
public IDictionary<string, object> vars {get; private set;}
private IJavaScriptExecutor js;
[SetUp]
public void SetUp() {
driver = new ChromeDriver();
js = (IJavaScriptExecutor)driver;
vars = new Dictionary<string, object>();
}
[TearDown]
protected void TearDown() {
driver.Quit();
}
[Test]
public void demotest() {
driver.Navigate().GoToUrl("http://localhost:64031/");
driver.Manage().Window.Size = new System.Drawing.Size(1066, 824);
driver.FindElement(By.Id("username")).Click();
driver.FindElement(By.Id("username")).SendKeys("demo");
driver.FindElement(By.Id("password")).SendKeys("demopwd");
driver.FindElement(By.Id("btnsubmit")).Click();
driver.Close();
}
}
4、要通過xpath查找元素(例如driver.FindElement(By.XPath("//input[@id='username']")));:),請使用Chropath。Chropath是Chrome擴充。添加後,您可以在開發人員工具(F12)下看到它,如下所示。
5、運作測試“ChromeDriver”是必要的。下載下傳ChromeDriver,解壓并将其放在Windows路徑中(例如:c:\windows in windows 10)。您可以通過轉到指令提示符 -> c:\windows -> Chromedrive.exe進行測試ChromeDriver。您将看到“正在啟動 ChromeDriver ”。
使用測試資料總管運作測試。這應該在Chrome浏覽器中打開應用程式并執行編寫的步驟。步驟按順序執行。如果測試通過,則測試變為綠色。
興趣點
優點
- 開源工具:免費且無需購買。
- 浏覽器和平台無關:由于它是使用JavaScript開發的,是以它支援大多數浏覽器,如Chrome、Firefox、Internet Explorer、Edge、Safari、Opera,并支援Windows、Mac和Linux等作業系統。
- 多種程式設計語言的Web驅動程式:為了編寫自動化腳本,Web驅動程式可用于C#、Java、Ruby、Python和JavaScript等程式設計語言。
- 省時且不易出錯:在執行重複測試時節省大量時間并避免人工錯誤。
結論
本文解釋了Selenium IDE和WebDriver,使用它們執行自動化測試,使用WebDriver和NUnit編寫測試腳本。
https://www.codeproject.com/Articles/5302400/Selenium-Automation-Testing、