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

   public String createSpecialCharFile(String resFileName, String targetDirName)

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

  Text Length Limitation

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

  public static String getThaiStrsN(int n)

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

  public int getThaiLength(String thaiStr)

  對(duì)一個(gè)泰文串進(jìn)行計(jì)算,計(jì)算結(jié)果為顯示長度。

  Concatenation

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

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

  Others

  輸入輸出一直是 GVT 測(cè)試一個(gè)大的難點(diǎn),在自動(dòng)化測(cè)試中也不例外。我們不可能窮舉完所有的測(cè)試數(shù)據(jù),我們只能夠多做些測(cè)試來盡可能的減少問題的出現(xiàn),我們根據(jù) GVT guide 的要求對(duì)測(cè)試數(shù)據(jù)做了分類,總共將其分成了 22 類,一般情況下,我們會(huì)隨機(jī)選取每一類中的一個(gè)字符來作為測(cè)試數(shù)據(jù),同時(shí)也可自定義在某幾類中來產(chǎn)生測(cè)試數(shù)據(jù)。此方法也是我們?cè)诒姸喾椒ǖ挠懻撝械玫降囊粋(gè)折中的方案,在實(shí)際自動(dòng)化測(cè)試應(yīng)用中取得了很好的效果。

  回頁首R(shí)FT 和 Selenium 用于 GVT 的自動(dòng)化測(cè)試的優(yōu)勢(shì)

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

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

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

  清單2. Selenium定義的方法

 

//得到當(dāng)前頁面的title
public static String getPageTitle(){
 return selenium.getTitle();
}
//在制定位置進(jìn)行輸入 
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)焦點(diǎn)放在某個(gè)控件上 
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();
}
//等待頁面的時(shí)間響應(yīng)
public static void waitForPageToLoad(int time){
 selenium.waitForPageToLoad(String.valueOf(time*1000));
}

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