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

  工作原理 2: 在腳本模式下,RFT 通過其核心方法 .find 定位所有 UI 為對象,同樣通過 Mapping Proxy objects 建立起定義對象到界面 UI 之間的對應(yīng)關(guān)系,從而控制對象執(zhí)行相應(yīng)的操作。對于任何一個對象而言,他都屬于一個樹形結(jié)構(gòu)的一部,find 方法,可以從某一個節(jié)點(diǎn)開始,定位其所有子類,或者只在子結(jié)點(diǎn)搜索。與錄制方式中的靜態(tài)樹相比,這種方式其實是構(gòu)建了一個虛擬的樹,find 的方法只是在其中進(jìn)行搜索而已,他不能對本身的結(jié)構(gòu)產(chǎn)生影響,也不會添加某個結(jié)點(diǎn),這點(diǎn)是很重要的。

  對于 GVT 的自動化測試領(lǐng)域,需要特殊說明的是,我們的腳本由于是用來做 GVT 測試,現(xiàn)在很多產(chǎn)品都是 Agile 模式,所以翻譯很早可能會進(jìn)來,某些測試點(diǎn)需要不同的在不同的 locale 下才能測試,我們不拒絕在找對象屬性的時候選擇一些與翻譯無關(guān)的 locale,但是在沒有這種屬性的時候,我們也會用 PII 中的翻譯來做。

  回頁首RFT 和 Selenium 的集成開發(fā)環(huán)境

  前文已介紹,由于 Selenium RC 需要 Java 作為它的開發(fā)環(huán)境。而 RFT 正好為 Selenium 提供一個較好的 Java 的開發(fā)平臺。只需將 selenium-server 的 jar 包及 selenium-language-client-driver 的 jar 包導(dǎo)入 RFT 中即可對 Selenium 進(jìn)行應(yīng)用。Selenium 支持多種編程語言,它也提供了 .net,java,perl,php,python,ruby 等編程語言的 jar 包,使開發(fā)人員可以根據(jù)自己的需要選擇相應(yīng)的 jar 包。圖 4 給出了 Selenium RC 的文件夾結(jié)構(gòu)。

  圖 4. Selenium RC 的文件夾結(jié)構(gòu)

  例如我們以 java 編程語言為例,圖 5 給出了將 selenium-server 及 selenium-java-client-driver 的 jar 包導(dǎo)入 RFT 中的示意圖。從圖中可以看到 selenium-server 和 selenium-java-client-driver 這兩個 jar 包在 RFT 中的 libraries 中得以顯示。

  圖 5. selenium-server 及 selenium-java-client-driver 的 jar 包導(dǎo)入 RFT 中的示意圖

  將這兩個 jar 包導(dǎo)入后,自動化開發(fā)人員可以順利地實現(xiàn) RFT 與 Selenium 結(jié)合使用,進(jìn)行編寫各種自動化腳本了。

  下面本文簡要地介紹 Selenium Server 的啟動方法。啟動 Selenium-Server,可以在命令行中使用 java -jar 命令直接運(yùn)行可執(zhí)行 jar 包(對于中文 Windows 操作系統(tǒng)且使用 IBM JDK,還需要加參數(shù) -Dibm.stream.nio=true)。

  它的命令格式:java – jar selenium-server-standalone-X.X.jar。圖 6 給出了 Selenium server 啟動成功后的信息。

  圖 6. Selenium server 啟動成功后的信息

  RFT 和 Selenium 的對于 GVT 驗證點(diǎn)的測試

  RFT 和 Selenium 的結(jié)合使用可以是自動化開發(fā)人員方便地調(diào)用 GVT 的驗證方法,到目前為止我們已經(jīng)開發(fā)了很多 GVT 的自動化驗證方法。例如對于語言字符串的輸入及驗證,時間日期格式的驗證,路徑的驗證,及在不同語言環(huán)境下排序的驗證等等。下面將具體介紹一下各個方法的實現(xiàn)機(jī)制及使用。

  在自動化測試中涉及的 GVT 驗證,我們是以 GVT Guide 為導(dǎo)向,ICU 為核心庫,來實現(xiàn)一系列 GVT 驗證方法的。

  Date Time

  針對我們在 GVT 中的時間日期格式,我們把日期時間格式的產(chǎn)生,格式化以及格式驗證都?xì)w于 Date Time 一類,主要的實現(xiàn)方法包括:

  ( 日期時間格式都對應(yīng) 4 種 style,分別是 FULL, SHORT, MEDIUM, LONG)

  public static String getDateByLocal(Date date,int style, ULocale ulocale)

  把一個英文的日期格式轉(zhuǎn)換為對應(yīng) locale 下的日期格式 , 這里主要是用來做可接受數(shù)據(jù)的測試。

  public static boolean isValidDate(String date,int style, ULocale ulocale)

  判斷一個日期串是否符合對應(yīng) locale 下某種 style 的格式,這里主要是用來做輸出標(biāo)準(zhǔn)的測試。時間與日期的方法類似,不列舉說明了。

  Data Sort

  對于字符串的排序,測試數(shù)據(jù)顯得相當(dāng)重要,如果測試數(shù)據(jù)選得不夠準(zhǔn)確以及特別,那么即使本身存在問題的地方,也有可能發(fā)現(xiàn)不出來。我們的主要的實現(xiàn)方法包括:

  public static String[] createStrings(int n,ULocale ulocale)

  產(chǎn)生在某個 locale 下長度為 n 的測試數(shù)據(jù)數(shù)組。

  public static String[] sortedStrings(ULocale ulocale, String [] UnSortedString,int order)

  order 表示排序規(guī)則是降序還是升序,整個方法為在某個 locale 下,對未排序的一組數(shù)組進(jìn)行降序或者升序排列,返回值為排序好的數(shù)組。

  Number

  GVT 中對數(shù)字的處理主要有千分位格式化和貨幣格式化,我們的主要的實現(xiàn)方法包括:

  public static String formatNumber(String num,ULocale locale)

  public static String formatCurrency(String num,ULocale locale)

  把一個數(shù)字字符串格式化成對應(yīng) locale 下的千分位和貨幣格式,用來做可接受數(shù)據(jù)的測試。

  public static boolean verifyNumber(String num,ULocale locale)

  public static boolean verifyCurrency(String num,ULocale locale)

  驗證一個數(shù)字字符串是否符合當(dāng)前 locale 下的千分位和貨幣格式,這樣編寫的目的是用來做輸出標(biāo)準(zhǔn)的測試。

  OS File

  在 GVT 中,關(guān)于文件系統(tǒng)的測試主要是對于某些系統(tǒng)特殊的分隔符的測試以及文件路徑和文件名中包含某些高風(fēng)險字符的測試,由于系統(tǒng)特殊分隔符屬于操作系統(tǒng)級別,且我們在不同系統(tǒng)編譯時能獲取到當(dāng)前的文件分隔符,所以我們這里主要針對后面兩種情況的進(jìn)行討論。主要的實現(xiàn)方法有:

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