您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Selenium
Selenium及RFT進行自動化的全球化測試
作者:網絡轉載 發(fā)布時間:[ 2013/4/2 15:33:59 ] 推薦標簽:

   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 的自動化測試的優(yōu)勢

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

  回頁首應用實例簡介

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

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