接著昨天的table搞,那個(gè)table從上倒下一個(gè)value,id都沒有,而且是動(dòng)態(tài)的
選擇匹配行的鏈接進(jìn)行操作。
后來研究了半天發(fā)現(xiàn)element有個(gè)parent的方法,所以,簡(jiǎn)單了
先匹配“地圖樓層”這個(gè)td,然后返回該td的parent,即該行的tr,然后再index到該tr的第二個(gè)td,可進(jìn)行操作了:
$browser.td(:text, '3333').parent.[](1).link(:text, '修改').click
看來什么東西想精通,得多用啊。
然后根據(jù)cucumber的架構(gòu),搞了一些測(cè)試用例:
在feature 文件中是這樣的:
# language: zh-CN
功能:樓層管理
作為一個(gè)管理人員
我能夠進(jìn)行樓層管理
場(chǎng)景: Case 1 - 驗(yàn)證界面元素(S2-ST-JBXXGL-LCGL-0001)
假如進(jìn)入基本信息管理界面
當(dāng)轉(zhuǎn)入樓層管理界面
那么我可以看到樓層編號(hào)
并且我可以看到樓層名稱
并且我可以看到修改
并且我可以看到刪除
并且我可以看到添加樓層
場(chǎng)景: Case 2 - 正常添加樓層(S2-ST-JBXXGL-LCGL-0002)
假如進(jìn)入基本信息管理界面
而且我進(jìn)入樓層管理界面
而且點(diǎn)擊添加樓層
#而且我已經(jīng)在樓層編號(hào)里輸入001
而且我已經(jīng)在樓層名稱里輸入地下一層
當(dāng)點(diǎn)擊添加樓層
那么我應(yīng)該在樓層管理界面
#并且我可以看到001
并且我可以看到地下一層
然后再初期的define step中有這樣的兩行:
Given /進(jìn)入(.*)界面/ do |module_name|
$autotest.navigate_to_module(module_name)
end
When /進(jìn)入(.*)界面/ do |module_name|
$autotest.navigate_to_module(module_name)
end
然后很和諧的報(bào)錯(cuò)了,cucumber在匹配
假如進(jìn)入基本信息管理界面
當(dāng)進(jìn)入樓層管理界面
這兩行的時(shí)候,神經(jīng)錯(cuò)亂了,只好改成:
假如進(jìn)入基本信息管理界面
當(dāng)轉(zhuǎn)入樓層管理界面
和
Given /進(jìn)入(.*)界面/ do |module_name|
$autotest.navigate_to_module(module_name)
end
When /轉(zhuǎn)入(.*)界面/ do |module_name|
$autotest.navigate_to_module(module_name)
end
看來用中文寫測(cè)試用例,也夠費(fèi)腦子的。
經(jīng)過一個(gè)模塊的實(shí)驗(yàn),發(fā)現(xiàn)435個(gè)手工測(cè)試用例,大概要定義45個(gè)step,然后需要定義56個(gè)functional
不過,發(fā)現(xiàn)剩下的2000多個(gè)手工測(cè)試用例,需要新加的step應(yīng)該不會(huì)超過20個(gè) 定義的功能也不會(huì)超過100個(gè),完成了所有的手工測(cè)試測(cè)試用例----》自動(dòng)化測(cè)試用的轉(zhuǎn)變
哈哈 還是很厲害的,執(zhí)行了20條case,大概一條在45秒, 算一分鐘, 2500個(gè)測(cè)試用里 差不多5個(gè)小時(shí)也能執(zhí)行一遍,而手工測(cè)試用例,大概需要500個(gè)人/時(shí)
所以,使用cucumber進(jìn)行自動(dòng)化測(cè)試,首先需要高質(zhì)量的測(cè)試用例,然后還要進(jìn)行挑選,沒必要所有的測(cè)試用例都進(jìn)行自動(dòng)化。