在我看來一個自動化測試平台的構建,是一種很好的了解開發語言,單元測試框架,自動化測試驅動,設計模式等等等的途徑。因此,在下選擇了自動化測試的這個話題來和大家分享一下本人關於軟件開發和自動化測試的認識。剛剛開通了博客,就從最基礎的開始吧,算是寫給初學者的編程手記,也算是給對自動化完全不了解的小伙伴開個頭。時間允許的話會堅持更新下去... ... 后續的文章計划會談到一些企業級自動化測試平台的構建(但願有時間完成哈~~)。
關於自動化測試的框架,網上有很多相關的對比,在這里我我就不評論和對比了。本人將要介紹的是Selenium(后續也會有一些其他框架的介紹)。如果你還不知道自動化測試框架和Selenium為何物,那就請先了解一下相關的知識介紹,這里我就不再贅述了。
為什么會選擇Selenium?網上也有很多相關文章談到他的優勢,比如:開源,免費,支持多種開發語言,支持多瀏覽器... ...等等等等。我之所以選擇這個框架,主要是從框架本身的擴展性,以及團隊構建自動化平台的效果方面考慮。
- 框架的擴展性:無論是Selenium本身的設計(留給自動化框架設計人員的接口),還是你使用的編程語言本身所提供強大的其他功能的擴展。給我的感覺都是棒棒噠~~~
- 自動化平台的構建:由於Selenium本身的支持很多主流的開發語言C#,Java,Ruby... ...
所以無論你是經驗豐富的測試人員或是想了解自動化的開發人員。測試B/S結構的應用,Selenium無疑是一個很好的選擇。
不說廢話了,一般的開始都是從環境搭建來的,so ... ... 第一篇,我也簡單的講一下這些沒什么營養的內容,目的是幫初次接觸這玩意的小伙伴先把環境搞起來。
工具:VS2013 , Nuget(VS會自帶這個工具),GitHub賬號(本篇文章用不到,后續我會發代碼放到GitHub上面供大家交流)
框架:Selenium(瀏覽器驅動) , xUnit.Net(單元測試框架)[對於為什么會選擇這個單元測試框架,以后會在其他的文章中介紹,總之本人覺得很好用]
瀏覽器:Firefox , Chrome ,IE 都行。
Step 01: 打開你的VS2013,選擇"Extensions and Updates",搜索並安裝xUnit.Net 項目模板
Step 02: 新建一個xUnit.net 的單元測試項目(Demo.SeleniumTest),點擊“ok”。
Step 03:右鍵項目的References,並選擇Manager NuGet Packages... , 下載最新版本的xUnit.Net. , 以及Selenium 的驅動包。
搜索並安裝最新版的xUnit.Net。
搜索並安裝最新版的Selenium Driver。
Step 04:終於可以開始寫代碼了,這里先做了一個簡單的例子(訪問博客園本人的博客,剛剛開的博客加點擊量~~呵呵)。至於原理都后面的文章我會介紹給大家。
新建一個測試類(UnitTesCase),並鍵入以下代碼,代碼完成了這么幾個操作:
- 啟動火狐瀏覽器。
- 在導航欄鍵入博客園本人的博客地址。
- 點擊分類里面的“自動化測試”鏈接。
1 using OpenQA.Selenium; 2 using OpenQA.Selenium.Firefox; 3 using System; 4 using System.Linq; 5 using Xunit; 6 7 namespace Demo.SeleniumTest 8 { 9 public class UnitTesCase 10 { 11 /// <summary> 12 /// 訪問博客園 13 /// </summary> 14 [Fact(DisplayName = "Visit.Cnblogs")] 15 public void Visit_Cnblogs() 16 { 17 IWebDriver driver = new FirefoxDriver(); 18 19 driver.Url = "http://www.cnblogs.com/NorthAlan"; 20 var lnkAutomation = driver.FindElement(By.XPath(".//div[@id='sidebar_postcategory']/ul/li/a[text()='自動化測試']")); 21 lnkAutomation.Click(); 22 } 23 } 24 }
Step 05:編譯你的項目(Ctrl + Shift + B),測試方法上右鍵點擊“Run Tests” ,就可以看見啟動火狐之后的一系列操作了。代碼中特意沒有關閉瀏覽器。
總結:其實也沒啥好總結的,這一篇算是給大家來個開胃小菜了,沒什么營養。主要是搭建環境。
關於《Selenium For C#》 系列,我計划給大家逐一介紹一些Selenium Driver的基礎知識和框架的擴展點。 當然,之后會有更多關於測試框架構以及軟件構建方面的文章。願我主保佑我有時間做這些事情... ...
PS:那個啥,建議初學的小伙伴不要拿什么錄制工具去錄制腳本。個人覺得對你的技術沒有任何幫助。。。 多的就不說了 ,自己領悟哈~~~
《Selenium For C#》的相關文章:Click here.
- [小北De編程手記] : Lesson 01 - Selenium For C# 之 環境搭建
- [小北De編程手記] : Lesson 02 - Selenium For C# 之 核心對象
- [小北De編程手記] : Lesson 03 - Selenium For C# 之 元素定位
- [小北De編程手記] : Lesson 04 - Selenium For C# 之 API 上
- [小北De編程手記] : Lesson 05 - Selenium For C# 之 API 下
- [小北De編程手記] : Lesson 06 - Selenium For C# 之 流程控制
- [小北De編程手記] : Lesson 07 - Selenium For C# 之 窗口處理
- [小北De編程手記] : Lesson 08 - Selenium For C# 之 PageFactory & 團隊構建
說明:Demo地址:https://github.com/DemoCnblogs/Selenium