您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Watir
Watir在cucumber上的應(yīng)用
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2014/3/7 13:36:31 ] 推薦標簽:Watir table

接著昨天的table搞,那個table從上倒下一個value,id都沒有,而且是動態(tài)的

選擇匹配行的鏈接進行操作。

后來研究了半天發(fā)現(xiàn)element有個parent的方法,所以,簡單了

先匹配“地圖樓層”這個td,然后返回該td的parent,即該行的tr,然后再index到該tr的第二個td,可進行操作了:

$browser.td(:text, '3333').parent.[](1).link(:text, '修改').click

看來什么東西想精通,得多用啊。

然后根據(jù)cucumber的架構(gòu),搞了一些測試用例

在feature 文件中是這樣的:

# language: zh-CN
功能:樓層管理
  作為一個管理人員
  我能夠進行樓層管理

  場景: Case 1 - 驗證界面元素(S2-ST-JBXXGL-LCGL-0001)
    假如進入基本信息管理界面
    當(dāng)轉(zhuǎn)入樓層管理界面
    那么我可以看到樓層編號
    并且我可以看到樓層名稱
    并且我可以看到修改
    并且我可以看到刪除
    并且我可以看到添加樓層
 
  場景: Case 2 - 正常添加樓層(S2-ST-JBXXGL-LCGL-0002)
    假如進入基本信息管理界面 
    而且我進入樓層管理界面   
    而且點擊添加樓層         
    #而且我已經(jīng)在樓層編號里輸入001
    而且我已經(jīng)在樓層名稱里輸入地下一層
    當(dāng)點擊添加樓層 
    那么我應(yīng)該在樓層管理界面
    #并且我可以看到001
    并且我可以看到地下一層

然后再初期的define step中有這樣的兩行:

Given /進入(.*)界面/ do |module_name|
  $autotest.navigate_to_module(module_name)
end

When /進入(.*)界面/ do |module_name|
  $autotest.navigate_to_module(module_name)
end

然后很和諧的報錯了,cucumber在匹配

假如進入基本信息管理界面
當(dāng)進入樓層管理界面

這兩行的時候,神經(jīng)錯亂了,只好改成:

假如進入基本信息管理界面
當(dāng)轉(zhuǎn)入樓層管理界面

Given /進入(.*)界面/ do |module_name|
  $autotest.navigate_to_module(module_name)
end

When /轉(zhuǎn)入(.*)界面/ do |module_name|
  $autotest.navigate_to_module(module_name)
end


看來用中文寫測試用例,也夠費腦子的。

經(jīng)過一個模塊的實驗,發(fā)現(xiàn)435個手工測試用例,大概要定義45個step,然后需要定義56個functional

不過,發(fā)現(xiàn)剩下的2000多個手工測試用例,需要新加的step應(yīng)該不會超過20個 定義的功能也不會超過100個,完成了所有的手工測試測試用例----》自動化測試用的轉(zhuǎn)變

哈哈 還是很厲害的,執(zhí)行了20條case,大概一條在45秒, 算一分鐘, 2500個測試用里 差不多5個小時也能執(zhí)行一遍,而手工測試用例,大概需要500個人/時

所以,使用cucumber進行自動化測試,首先需要高質(zhì)量的測試用例,然后還要進行挑選,沒必要所有的測試用例都進行自動化。

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