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

看来什么东西想精通,就得多用啊。

然后根据cucumber的架构,搞了一些测试用例

在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:

 

评分:0

我来说两句

日历

« 2024-05-01  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 151409
  • 日志数: 185
  • 文件数: 6
  • 建立时间: 2007-08-06
  • 更新时间: 2015-01-06

RSS订阅

Open Toolbar