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

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

  • <strong id="5koa6"></strong>
  • 如何讓oracle的自動化測試腳本跑得更快

    發表于:2012-10-18來源:futurehandw作者:吳穎敏點擊數: 標簽:自動化測試
    我們做自動化測試可能遇到的問題: 1.大量使用name、id、xpath等頁面元素。無論是功能修改、UI重構還是交互性改進都會影響到這些元素,這使得Selenium測試變得非常脆弱。

      我們做自動化測試可能遇到的問題:

      1.大量使用name、id、xpath等頁面元素。無論是功能修改、UI重構還是交互性改進都會影響到這些元素,這使得Selenium測試變得非常脆弱。

      2.過于細節的頁面操作不容易體現出行為的意圖,一段時間之后就很難真正把握測試原有的目的了,這使得Selenium測試變得難于維護。

      3.對具體數據取值的存在依賴,當個別數據不再合法的時候,測試就會失敗,但這樣的失敗并不能標識功能的缺失,這使得Selenium測試變得脆弱且難以維護。

      不斷地添加新的測試,而極少地去重構、利用原有測試。Selenium的執行速度比較慢(相對單元測試),隨著測試逐漸的增多,運行時間會逐漸增加到不可忍受的程度。

      Domain Based Web Testing具體來講,就是Page Object Pattern。

      最終要的是Page Object、Test Data Driven、Navi、Much easier主要是通過對工具的封裝,對頁面的封裝,對URL的封裝,對整體各種測試類的封裝。

      1.Page Object

      主要是將可能遇到的頁面封裝,比如login頁面的username,password的封裝。

      利用xpath或者dom對頁面元素的整體封裝:

      def welcome_message

      @driver.get_text ‘xpath=…’

      end

      對assert方法的封裝:

      on LoginPage do

      assert_equal ‘Welcome!’, welcome_message

      login_as :name => ‘xxx’, :password => ‘xxx’

      end

      def visible?

      @driver.is_text_present(…) && @driver.get_location == …

      end

      包括對于業務類斷言的封裝。

      2.Test Data

      主要是將測試數據更加集中的管理,我們可以利用maven,ant,testng等參數化的方式將數據管理起來。

      3.Navi

      和Test Data driven差不多,遇到可能變更的url進行參數化處理。

      4.Much easier

      是將綜合起來的各種封裝類,進行針對業務的封裝,入參、驗證結果做為輸入值進行更耦合的封裝。

    做到最后一步的時候,將致力于將test case對應相關的業務線,精簡testcase,使自動化用例飛起來
     

    原文轉自: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>