Toggle main menu visibility
新聞
下載
教材
影音
討論
其他選單
好站連結
行事曆
電子相簿
常見問題
萬用表單
即時留言簿
友站消息
社大學員
:::
登入
登入
帳號
密碼
登入
重整畫面
:::
所有書籍
「Selenium」目錄
MarkDown
4. Selenium IDE的使用
前言
1. Selenium簡介
2. XPath的使用【ZZ】
3. Selenium API參考手冊【ZZ】
4. Selenium IDE的使用
5. 第一個Selenium RC測試案例
6. 深入瞭解Selenium RC工作原理(1)
7. 深入瞭解Selenium RC工作原理(2)
8. 玩轉Selenium Server
9. Selenium RC服務器命令行參數列表【ZZ】
6. 深入瞭解Selenium RC工作原理(1)
Selenium ======== 《[Selenium簡介](http://www.cnblogs.com/hyddd/archive/2009/05/20/1473146.html)》 中講過,Selenium RC支持多種語言編寫測試案例,如:C#,Python。在工作中,我傾向於是用Python這類動態語言編寫測試案例,因為這樣的測試案例無需編 譯:>,試想如果你有1000個測試案例,每個都要編譯,那會給編譯服務器很大的壓力,而且案例修改後,還得重新編譯才能運行:<。但在本系 列的文章中,我還是打算使用C#編寫示範例子。 Selenium RC下載:[http://seleniumhq.org/download/](http://seleniumhq.org/download/ "http://seleniumhq.org/download/")  寫Selenium RC的測試案例 上一篇《[Selenium IDE的使用](http://www.cnblogs.com/hyddd/archive/2009/05/24/1487967.html)》中,提到了Selenium IDE可以把錄製的腳本轉為其他語言的腳本,所以我繼續用上一篇的腳本為例子,下面是把腳本語言轉換為C#後的代碼:
``` using System; using System.Text; using System.Text.RegularExpressions; using System.Threading; using NUnit.Framework; using Selenium; namespace SeleniumTests { [TestFixture] public class NewTest { private ISelenium selenium; private StringBuilder verificationErrors; [SetUp] public void SetupTest() { selenium = new DefaultSelenium("localhost", 4444, "*chrome", "http://change-this-to-the-site-you-are-testing/"); selenium.Start(); verificationErrors = new StringBuilder(); } [TearDown] public void TeardownTest() { try { selenium.Stop(); } catch (Exception) { // Ignore errors if unable to close the browser } Assert.AreEqual("", verificationErrors.ToString()); } [Test] public void TheNewTest() { selenium.Open("/"); selenium.Type("kw", "hyddd"); selenium.Click("sb"); selenium.WaitForPageToLoad("30000"); try { Assert.IsTrue(selenium.IsTextPresent("hyddd - 博客園")); } catch (AssertionException e) { verificationErrors.Append(e.Message); } selenium.Click("//table[@id='1']/tbody/tr/td/a/font"); } } } ```
在這裡,轉換後的腳本使用了NUnit測試框架,為了簡化,我用VS的Test Project代替(當然你也可以用Console Application建立測試工程的),步驟如下: ### 1.建立Test Project  ### 2.導入DLL引用 把selenium-dotnet-client-driver-1.0-beta-2目錄中的ThoughtWorks.Selenium.Core.dll,ThoughtWorks.Selenium.IntegrationTests.dll,ThoughtWorks.Selenium.UnitTests.dll加入項目:  ### 3.把上面自動生成的代碼再改一下
``` using System; using System.Text; using System.Collections.Generic; using Microsoft.VisualStudio.TestTools.UnitTesting; using Selenium; namespace SeleniumTest { [TestClass] public class UnitTest1 { [TestMethod] public void Test() { //127.0.0.1為Selenium測試服務器位置。 //4444為Selenium測試服務器監聽端口。 //*iexplore為啟動瀏覽器類型,我把它改為了IE瀏覽器。 //http://www.baidu.com為源地址。 ISelenium selenium = new DefaultSelenium("127.0.0.1", 4444, "*iexplore", "http://www.baidu.com"); selenium.Start(); selenium.Open("/"); selenium.Type("kw", "hyddd"); selenium.Click("sb"); selenium.WaitForPageToLoad("30000"); Assert.IsTrue(selenium.IsTextPresent("hyddd - 博客園")); selenium.Click("//table[@id='1']/tbody/tr/td/a/font"); selenium.Close(); selenium.Stop(); } } } ```
### 4.啟動Selenium測試服務器 打開cmd進入selenium-server-1.0-beta-2目錄,輸入「java -jar selenium-server.jar」(需要先安裝JRE),啟動Selenium測試服務器。  ### 5.運行測試案例 (1).運行測試案例:  (2).測試結果:  恩,案例Pass了,如果案例失敗的話,Error Meesage會說明失敗的原因。 (注 意:和Firefox一樣,IE下也有屏蔽彈出網頁功能,修改設置方法:MenuBar->Tools->Popup Blocker->Turn off Popup Blocker,或者在Popup Blocker Settings裡面配置。)
:::
搜尋
search
進階搜尋
QR Code 區塊
快速登入
所有討論區
「PHP全端開發」線上課程討論區
XOOPS使用討論區
一般研習學員
社大學員專用
路過哈啦區
XOOPS佈景設計
XOOPS模組開發
Tad書籍區
即時留言簿
書籍目錄
展開
|
闔起
線上使用者
54
人線上 (
24
人在瀏覽
線上書籍
)
會員: 0
訪客: 54
更多…