• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • Selenium--透明反復推介的集成測試工具(Pragmatic系列)

    發表于:2008-07-11來源:作者:點擊數: 標簽:seleniumSelenium工具Pragmatic反復
    關鍵字: 集成測試 工具 國內大部分公司還依靠QA組的MM看著測試用例文檔來 手工測試 ,如果錢人有限,又想改變現狀,最實在的建議是先編寫直接訪問 數據庫 的商業層 UnitTest 和基于Selenium的集成測試這兩種實用性最高的測試。 在徐昊指導下,SpringSide2.0
    關鍵字:集成測試工具
    國內大部分公司還依靠QA組的MM看著測試用例文檔來手工測試,如果錢人有限,又想改變現狀,最實在的建議是先編寫直接訪問數據庫的商業層UnitTest和基于Selenium的集成測試這兩種實用性最高的測試。

    在徐昊指導下,SpringSide2.0 已經全面應用Selenium。

    Selenium 能被選為最好集成測試、回歸測試方案,是因為:

    1.Selenium IDE ,一個FireFox plugin,能自動記錄用戶的操作,生成測試腳本。

    2. 生成的測試腳本可以用Selenium Core手工執行,也能基于Selenium RC放入Java,C#,Ruby單元測試用例中自動運行。

    3. 測試用例調用實際的瀏覽器(如IE、FireFox)來執行測試。和有些開源方案自行實現Web解釋引擎相比,實際的瀏覽器能模擬更多用戶交互和JS語法,順便還可以測試各瀏覽器兼容性。

    4. 測試腳本語法非常簡單,見后。


    1. 使用Selenium IDE生成腳本

    Selenium IDE 是一個Firefox1.5插件,下載后用Firefox將其打開。

    工具->Selenium IDE,點擊紅色的recorder按鈕開始錄制,在網站中亂點時可以即時看到每個動作的腳本。

    切換Format:顯示 HTML,Java,C#,Ruby 語法的腳本。 option里還可以設定Java里Selenium變量的名稱,如user。

    2.測試用例與測試腳本

    測試用例在Selenium IDE生成->Copy Paste的流程下非常的容易。

    public class UserManagerTest extends TestCase
    {
        private Selenium user;

        public void setUp() throws Exception {
           user= new DefaultSelenium("localhost", SeleniumServer.DEFAULT_PORT, "*iexplore", "http://localhost:8080");
           user.start();
    }
    protected void tearDown() throws Exception {
            user.stop();
    }

    public void testUserEdit() {
        user.open("/helloworld");
        user.click("http://a\[contains(@href, ’user.do?id=0’)\]");
        user.waitForPageToLoad("3000");
        user.type("user.name", "calvin");
        user.click("save");
        user.waitForPageToLoad("3000");
        assertTrue(user.isTextPresent("calvin"));
    }
    留意setUp中的"*iexplore"參數,設定使用IE作為測試瀏覽器;如果設為"*firefox",就會在PATH中查找*firefox.exe。 

    注意,Selenium使用IE時的Proxy機制比較特殊,如果你同時在本機ADSL modem撥號上網,要先斷網。

    腳本中按徐昊的指導,使用user 作為Selenium的變量名,使用例更加易讀。

    Selenium提供了非常豐富的用戶交互函數,但Selenium RC里并沒有為Java單列一個函數參考手冊,需要閱讀公共的Selenium Refrences,再使用同名對應的java函數。

    所有函數都是一個locator參數,將操作付諸某個頁面上的對象。支持ID,DOM語法,XPath語法,CSS selector語法等,詳見參考手冊。

    如果不會寫,最好的老師還是Selenium IDE 。比如那句點擊 修改,就是用IDE得到user.click("http://a[contains(@href, ’user.do?id=0’)]")的XPath語句。

    3.Ant的運行腳本

    我寫的Ant測試腳本一個重要特征是使用 并行容器節點,一邊同時打開tomcat 和selenium server,一邊等待兩者打開后執行JUnit。
    如果不使用并行節點,而是用spawn=yes屬性后臺啟動tomcat,屏幕里就看不到tomcat信息,如果測試意外終止的話,就不能關閉tomcat,很不方便?!?


        
        
        
            MINUTE"&NBSP;CHECKEVERY="1"&NBSP;CHECKEVERYUNIT="SECOND">
                
            
            
                
           
           
           
        


    4.SpringSide 中的FunctionalTestCase基類

    SpringSide中抽象了一個FunctionalTestCase基類,抽取了setUp() ,tearDown()函數中selenium server 開閉操作。

    其中瀏覽器類型默認為"*iexplore", 基本url默認為http://localhost:8080

    用戶可以在selenium.properties 中重新設定selenium.explorer 和selenium.baseurl 變量。 

      
     

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>