您的位置:軟件測(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)簽:

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

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

  回頁首R(shí)FT 和 Selenium 的集成開發(fā)環(huán)境

  前文已介紹,由于 Selenium RC 需要 Java 作為它的開發(fā)環(huán)境。而 RFT 正好為 Selenium 提供一個(gè)較好的 Java 的開發(fā)平臺(tái)。只需將 selenium-server 的 jar 包及 selenium-language-client-driver 的 jar 包導(dǎo)入 RFT 中即可對(duì) 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 這兩個(gè) jar 包在 RFT 中的 libraries 中得以顯示。

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

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

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

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

  圖 6. Selenium server 啟動(dòng)成功后的信息

  RFT 和 Selenium 的對(duì)于 GVT 驗(yàn)證點(diǎn)的測(cè)試

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

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

  Date Time

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

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

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

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

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

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

  Data Sort

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

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

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

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

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

  Number

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

  public static String formatNumber(String num,ULocale locale)

  public static String formatCurrency(String num,ULocale locale)

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

  public static boolean verifyNumber(String num,ULocale locale)

  public static boolean verifyCurrency(String num,ULocale locale)

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

  OS File

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

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