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

   public String createSpecialCharFile(String resFileName, String targetDirName)

  在目標(biāo)文件夾下產(chǎn)生一個包含高風(fēng)險字符的文件,然后把源文件拷貝到這個文件夾下,并對其重命名。

  Text Length Limitation

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

  public static String getThaiStrsN(int n)

  產(chǎn)生一個顯示長度為 n 的測試數(shù)據(jù)。

  public int getThaiLength(String thaiStr)

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

  Concatenation

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

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

  Others

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

  回頁首RFT 和 Selenium 用于 GVT 的自動化測試的優(yōu)勢

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

  回頁首應(yīng)用實例簡介

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

  清單2. Selenium定義的方法

 

//得到當(dāng)前頁面的title
public static String getPageTitle(){
 return selenium.getTitle();
}
//在制定位置進行輸入 
public static void type(String locator, String input){
 selenium.type(locator, input);
}
//鼠標(biāo)左鍵單擊 
public static void click(String locator){
 selenium.click(locator);
}
//鼠標(biāo)左鍵在制定位置上單擊 
public static void clickAT(String locator, String coordString){
 selenium.clickAt(locator, coordString);
}
//把光標(biāo)焦點放在某個控件上 
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();
}
//等待頁面的時間響應(yīng)
public static void waitForPageToLoad(int time){
 selenium.waitForPageToLoad(String.valueOf(time*1000));
}

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