<em id="rvwhg"><label id="rvwhg"></label></em>
    您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Selenium
    Selenium私房菜系列全集
    作者:網(wǎng)絡轉(zhuǎn)載 發(fā)布時間:[ 2013/3/28 13:48:19 ] 推薦標簽:

    第一個Selenium RC測試案例

     《Selenium簡介》中講過,Selenium RC支持多種語言編寫測試案例,如:C#,Python。在工作中,我傾向于是用Python這類動態(tài)語言編寫測試案例,因為這樣的測試案例無需編譯:>,試想如果你有1000個測試案例,每個都要編譯,那會給編譯服務器很大的壓力,而且案例修改后,還得重新編譯才能運行:<。但在本系列的文章中,我還是打算使用C#編寫示范例子。

    Selenium RC下載:http://seleniumhq.org/download/

    寫Selenium RC的測試案例

         上一篇《Selenium IDE的使用》中,提到了Selenium IDE可以把錄制的腳本轉(zhuǎn)為其他語言的腳本,所以我繼續(xù)用上一篇的腳本為例子,下面是把腳本語言轉(zhuǎn)換為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");
            }
        }
    }
    復制代碼

    在這里,轉(zhuǎn)換后的腳本使用了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測試服務器監(jiān)聽端口。
                //*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).測試結(jié)果:

    恩,案例Pass了,如果案例失敗的話,Error Meesage會說明失敗的原因。
    (注意:和Firefox一樣,IE下也有屏蔽彈出網(wǎng)頁功能,修改設置方法:MenuBar->Tools->Popup Blocker->Turn off Popup Blocker,或者在Popup Blocker Settings里面配置。)

    上一頁12345678910下一頁
    軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
    滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd