BDD自动化之cucumber+selenium-webdriver+ruby

上一篇 / 下一篇  2012-03-31 10:44:05

Cucumber是一个解释器(interpreter),编写的feature文件在Cocumber中被称为Gherkin。所以,我在之前的文章中提到的Cucumber关键字,实际上是Gherkin语法。Gherkin可以算是一种DSL的写法,它能支持多种语言(例如英语、西班牙语、中文等)。Gherkin的关键字包括:
Feature
Background
Scenario
Scenario outline
Scenarios(或者Examples)
Given
When
Then
And(或者But)
|(该关键字用来定义table)
“”"(用于定义多行字符串)
#(用于注释)

与一般编程不同的是,在Cucumber中,跟在这些keyword之后的内容是完全随意而自由的,是真正的自然语言。这样的设定就使得由BA或者 客户编写feature成为可能。虽然feature的编写看似容易,不过要写好,也不容易。因为对于一个feature而言,可能存在多个场景。而且, 还需要考虑一些特殊场景。所以,场景的分割是非常重要的。通常情况下,应该从最常见且最容易的场景开始编写。---转自--http://www.agiledon.com/?tag=ruby

有兴趣的继续看这里---http://17test.info/?p=290  和  http://www.jenkins.asia/?p=129

java selenium转变成cucumber ruby webdriver的一些尝试:

对页面元素用webdriver进行操作,封装成Object Page形式 

class FillTheProductInfo 

  def initialize browser

    @browser=browser

  end

  def input_info

    #选择弹出的新页面

#    PersonalProductList.new(@browser).switchNewWindow

    hs = @browser.window_handles

    ch = @browser.window_handle

    hs.each do |h|

      unless h == ch

        @browser.switch_to.window(h)

      end

    end

    #填写小额易捷贷贷款金额

    sleep 2

    @browser.find_element(:name => '3646841loansum').send_keys('500')

    @browser.find_element(:xpath => "//form[@name='form13646841']/table/tbody/tr[6]/td[4]/input").click

    sleep 2

    @browser.switch_to.alert.accept

end

end

在step_definitions中调用之前封装的page: 部分代码如下

Given /^填写补充信息后,点击返回查看贷款页面$/ do

  FillTheProductInfo.new(@browser).input_info

  FillTheProductInfo.new(@browser).bank_info  

end

在feature中编写use story 如下:

#coding: utf-8

Feature:企贷

  As a 企业用户

  I want 登录系统

  So that 申请贷款


  Scenario:企业用户登录系统申请贷款

    Given 打开首页

    When 请输入用户名:"****",输入密码:"*****",点击登录

    Then 点击档案链接,页面跳转

    And 填写企业基本资料

如果关键字想用中文的话,加上# language: zh-CN,如下所示

#coding: utf-8

# language: zh-CN

功能:企业用户修改自己的密码

  作为一个用户

  我想登录系统

  然后可以修改密码


  场景:企业用户修改自己的密码

    #假如

    当 我打开V4首页

    那么 我输入用户名:"****" 和密码:"****"点击登录

    而且 点击账户管理

运行结果图



TAG:

引用 删除 daizengyu123   /   2015-11-05 09:52:19
-3
 

评分:0

我来说两句

日历

« 2024-04-18  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 22076
  • 日志数: 14
  • 建立时间: 2011-06-07
  • 更新时间: 2012-06-04

RSS订阅

Open Toolbar