Cucumber是一个解释器(interpreter),编写的feature文件在Cocumber中被称为Gherkin。所以,我在之前的文章中提到的Cucumber关键字,实际上是Gherkin语法。Gherkin可以算是一种DSL的写法,它能支持多种语言(例如英语、西班牙语、中文等)。Gherkin的关键字包括: 与一般编程不同的是,在Cucumber中,跟在这些keyword之后的内容是完全随意而自由的,是真正的自然语言。这样的设定就使得由BA或者 客户编写feature成为可能。虽然feature的编写看似容易,不过要写好,也不容易。因为对于一个feature而言,可能存在多个场景。而且, 还需要考虑一些特殊场景。所以,场景的分割是非常重要的。通常情况下,应该从最常见且最容易的场景开始编写。---转自--http://www./?tag=ruby 有兴趣的继续看这里---http:///?p=290 和 http://www./?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首页 那么 我输入用户名:"****" 和密码:"****"点击登录 而且 点击账户管理 运行结果图 |
|
来自: liu_guoping > 《selenium》