cucumber 测试基础方法

今天写cucumber学到的一些基础方法:
1、fill_in  element_id, :with => value :在输入框里输入"value”内容
2、set: object.set(given_val): 设置form元素的value值为给出的值。(object为在页面上上找到的element 对象)
3、find element,(http://rubydoc.info/gems/capybara/0.4.0/Capybara/Node/Finders#find-instance_method)一下是自己对这些方法的理解:
    (Capybara::Element).all(*args):找到所有匹配args参数的element
    page.all(:css, ‘a.class-name’):找class为class-name的a标签,这里的第一个参数css并不是query里的css
    page.all(:xpath, '//a[@id="person_123"]’):path表示元素的层级关
系,具体”//“或 ‘/‘代表什么子节点还是孙子节点或其它,还没弄明白
    page.all(‘a#id’):只有一个参数。默认第一个参数为”:css”
    page.all(‘a#id’, :text=>’hello’): 通过selector和element text找到指定element
    (Capybara::Element).find(*args)
     找到一个基于给出的参数的element。如果找不到会抛出错误
     find和all的参数一样,如下
      page.find(‘ul li’, :text => “item1”)
      page.find(:xpath, ‘//div[contains(‘bar')]’)
      page.find(:css, ’span’)
      page.find('#foo').find('.bar’)

    (Capybara::Element) find_field(locator)
      page.find_filed(‘#id’):找到页面上的form域。也可以通过form的name属性或label text找到

4、have_selector(*args):
     page.should have_selector(’span#id', :text=>’’world”)
     have_selector的参数参考all和find
5、assert_selector:可以判断找到的element的数目
   page.assert_selector('p#foo', :count => 4),准确数目
   page.assert_selector('p#foo', :maximum => 10) 最大数   page.assert_selector('p#foo', :minimum => 1) 最小数   page.assert_selector('p#foo', :between => 1..10) 范围数

6、click: object.click;(object为在页面上上找到的element 对象)
7、page.current_path:获得当前页面的路径
8、press enter key可以用page.find('#id').native.send_keys(:enter)

相关推荐