Watir在cucumber上的应用
上一篇 /
下一篇 2013-01-10 15:12:15
/ 个人分类:测试
接着昨天的table搞,那个table从上倒下一个value,id都没有,而且是动态的,偏偏还要像这样
选择匹配行的链接进行操作。
后来研究了半天发现element有个parent的方法,所以,简单了
先匹配“地图楼层”这个td,然后返回该td的parent,即该行的tr,然后再index到该tr的第二个td,就可进行操作了:
$browser.td(:text, '3333').parent.[](1).link(:text, '修改').click
看来什么东西想精通,就得多用啊。
在feature 文件中是这样的:
# language: zh-CN
功能:楼层管理
作为一个管理人员
我能够进行楼层管理
场景: Case 1 - 验证界面元素(S2-ST-JBXXGL-LCGL-0001)
假如进入基本信息管理界面
当转入楼层管理界面
那么我可以看到楼层编号
并且我可以看到楼层名称
并且我可以看到修改
并且我可以看到删除
并且我可以看到添加楼层
场景: Case 2 - 正常添加楼层(S2-ST-JBXXGL-LCGL-0002)
假如进入基本信息管理界面
而且我进入楼层管理界面
而且点击添加楼层
#而且我已经在楼层编号里输入001
而且我已经在楼层名称里输入地下一层
当点击添加楼层
那么我应该在楼层管理界面
#并且我可以看到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在匹配
这两行的时候,神经错乱了,只好改成:
和
Given /进入(.*)界面/ do |module_name|
$autotest.navigate_to_module(module_name)
end
When /转入(.*)界面/ do |module_name|
$autotest.navigate_to_module(module_name)
end
看来用中文写测试用例,也够费脑子的。
经过一个模块的实验,发现435个手工测试用例,大概要定义45个step,然后需要定义56个functional
不过,发现剩下的2000多个手工测试用例,需要新加的step应该不会超过20个 定义的功能也不会超过100个,就完成了所有的手工测试测试用例----》
自动化测试用的转变
哈哈 还是很厉害的,执行了20条case,大概一条在45秒, 就算一分钟, 2500个测试用里 差不多5个小时也能执行一遍,而手工测试用例,大概需要500个人/时
所以,使用cucumber进行自动化测试,首先需要高质量的测试用例,然后还要进行挑选,没必要所有的测试用例都进行自动化。
收藏
举报
TAG: