• <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 及 RFT 進行自動化的全球化測試(4)

    發表于:2011-10-10來源:IBM作者:宋強, 摯陳,邢靜點擊數: 標簽:
    public String createSpecialCharFile(String resFileName, String targetDirName) 在目標文件夾下產生一個包含高風險字符的文件,然后把源文件拷貝到這個文件夾下,并對其重

      public String createSpecialCharFile(String resFileName, String targetDirName)

      在目標文件夾下產生一個包含高風險字符的文件,然后把源文件拷貝到這個文件夾下,并對其重命名。

      Text Length Limitation

      文本長度限制在 GVT 測試也是一個重要的點,某些泰文字符由 3 個 Unicode 碼來表示,在 java 中的長度為 3,然而實際顯示占位應該是 1。我們以這些字符為測試數據來進行測試,主要的實現方法有:

      public static String getThaiStrsN(int n)

      產生一個顯示長度為 n 的測試數據。

      public int getThaiLength(String thaiStr)

      對一個泰文串進行計算,計算結果為顯示長度。

      Concatenation

      對于串聯問題,是 GVT 驗證中一個較為重要的問題。我們對其進行兩個方面校驗,第一方面在 pseudo 階段,我們會根據 pseudo 本身的閉包進行判斷。另一方面,我們會根據頁面實際顯示與 PII 串的對比進行判斷。由于 PII 串的處理比較復雜,我們這里只給出 pseudo 階段驗證的方法。

      public static boolean getConcatenationV(String PseudoStr,String begin,String end)

      Others

      輸入輸出一直是 GVT 測試一個大的難點,在自動化測試中也不例外。我們不可能窮舉完所有的測試數據,我們只能夠多做些測試來盡可能的減少問題的出現,我們根據 GVT guide 的要求對測試數據做了分類,總共將其分成了 22 類,一般情況下,我們會隨機選取每一類中的一個字符來作為測試數據,同時也可自定義在某幾類中來產生測試數據。此方法也是我們在眾多方法的討論中得到的一個折中的方案,在實際自動化測試應用中取得了很好的效果。

      回頁首RFT 和 Selenium 用于 GVT 的自動化測試的優勢

      基于 RFT 和 Selenium 結合使用,并用于 GVT 的自動化測試的優勢很多。首先,Selenium 這款軟件本身提供了足夠多的對鼠標,鍵盤等輸出設備的應用方法,可使開發人員較為便捷的調用,例如有鼠標左鍵的點擊、雙擊,鼠標的拖拽,鼠標右鍵,網頁的等待響應,鍵盤上鍵位的控制等方法。這樣就方便了開發人員的使用,可以使自動化開發人員方便地利用 Selenium 提供的各種方法編寫腳本。其次,Selenium IDE 提供了腳本的錄制與回放的功能,可幫助自動化的開發人員去實現簡單的測試用例,并且 Selenium IDE 可以幫助開發人員驗證 Xpath 語法書寫是否正確,也可以幫助開發人員進行的簡單的腳本調試的工作等。第三,Selenium 對網頁進行操作時,是得到網頁的原始數據,這樣就可以更為準確地,客觀地進行自動化腳本的開發及驗證。第四,Selenium 結合 RFT 使用,對于執行腳本有較快的速度,幾乎和真實用戶操作的速度相當,相比于一些其他的 web 自動化測試框架節省了運行時間,提高了運行效率。第四,Selenium 和 RFT 的配置過程非常簡單,免去了開發人員由于配置環境的問題而浪費大量的時間和精力。第五,通過編寫模仿用戶操作的 Selenium 測試腳本,可以從終端用戶的角度來測試應用程序。通過在不同瀏覽器中運行測試,更容易發現瀏覽器的不兼容性。最后,Selenium 支持多瀏覽器操作,這是其他測試軟件所不具備的,它包括 IE,Firefox,Safari 等瀏覽器,具有良好的可用性,使自動化開發人員更能體會到自動化開發的樂趣。

      回頁首應用實例簡介

      下面以我們目前開發的一個實際項目(LoutsLive Symphony)作為實例具體介紹 Selenium 和 RFT 的結合使用。首先我們定了一些 Selenium 已經給出的方法,方便在編寫腳本時調用。經過使用,這些方法均有較好的可移植性及魯棒性,開發人員可以根據自己的需要對代碼進行選擇及修改。清單 2 只是給出了一部分 Selenium 定義的方法。

      清單2. Selenium定義的方法

     

    //得到當前頁面的title
    public static String getPageTitle(){
    	return selenium.getTitle();
    }
    //在制定位置進行輸入	
    public static void type(String locator, String input){
    	selenium.type(locator, input);
    }
    //鼠標左鍵單擊	
    public static void click(String locator){
    	selenium.click(locator);
    }
    //鼠標左鍵在制定位置上單擊	
    public static void clickAT(String locator, String coordString){
    	selenium.clickAt(locator, coordString);
    }
    //把光標焦點放在某個控件上	
    public static void focus(String locator){
    	selenium.focus(locator);
    }
    //按下鍵盤上的Shift鍵
    public static void shiftKeyDown(){
    	selenium.shiftKeyDown();
    }
    //抬起鍵盤上的Shift鍵
    public static void shiftKeyDUp(){
    	selenium.shiftKeyUp();
    }
    //按下鍵盤上的Alt鍵
    public static void altKeyDown(){
    	selenium.altKeyDown();
    }
    //抬起鍵盤上的Alt鍵
    public static void altKeyUp(){
    	selenium.altKeyUp();
    }
    //等待頁面的時間響應
    public static void waitForPageToLoad(int time){
    	selenium.waitForPageToLoad(String.valueOf(time*1000));
    }
    //點擊鼠標右鍵
    public static void contextMenu(String locator){
    	selenium.contextMenu(locator);
    }
    //獲得所有打開窗口的名字
    public static String [] getAllWindowNames(){
    	return selenium.getAllWindowNames();
    }
    

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