zoukankan      html  css  js  c++  java
  • FrankCucumber Step Definition compendium (转载)

    What's this?

    This page is intended to act as a place for useful Frank step definitions which aren't quite standard enough to add to the core frank steps. Please feel free to contribute your own useful codez.

    Counting specific items displayed on the App

    This works for Waseem:

    Then /^I should see (.*) apples$/ do |count|
      apples = frankly_map( "label marked:'red apples'", 'tag' )
      apples.count.should == count.to_i
    end
    

    Editing a text field using the keyboard

    (see this thread for details)

    This works for Pete's team:

        When /^I use the keyboard to fill in the textfield marked "([^\\"]*)" with "([^\\"]*)"$/ do |text_field_mark, text_to_type|
          text_field_selector =  "view marked:'#{text_field_mark}'"
          check_element_exists( text_field_selector )
          touch( text_field_selector )
          frankly_map( text_field_selector, 'setText:', text_to_type )
          frankly_map( text_field_selector, 'endEditing:', true )
        end
    

    This works for Martin:

        When /^I use the keyboard to fill in the textfield marked "([^\\"]*)" with "([^\\"]*)"$/ do |text_field_mark, text_to_type| 
         text_field_selector =  "view marked:'#{text_field_mark}'" 
         check_element_exists( text_field_selector ) 
         frankly_map( text_field_selector, 'becomeFirstResponder' ) 
         frankly_map( text_field_selector, 'setText:', text_to_type ) 
         frankly_map( text_field_selector, 'endEditing:', true ) 
        end 
    

    Simulating sending text and hitting return on the keyboard

    This can be a useful workaround when dealing with the iOS keyboard. Thanks to Hezi Cohen and James Moore for this one!

    def send_command ( command )
      %x{osascript<<APPLESCRIPT
    tell application "System Events"
      tell application "iPhone Simulator" to activate
      keystroke "#{command}"
      delay 1
      key code 36
    end tell
    APPLESCRIPT}
    end
    
    When /^I send the command "([^\\"]*)"$/ do |cmd|
      send_command(cmd)
    end
    
    When /^I send the command "([^"]*)" (\d+) times$/ do |cmd, times|
      i = 0
      while i < times.to_i
        send_command(cmd)
        i += 1
      end
    end
    
    When /^I send the following commands:$/ do |table|
      table.hashes.each do |row|
        steps "When I send the command \\"#{row['command']}\\" #{row['times']} times"
        send_command(row['command'])
      end
    end
    

    Resetting the app to first launch state

    Given /^I reset the (iphone|ipad) app$/ do |device|
      steps "When I quit the simulator"
      SDK    = "4.3"
      APPLICATIONS_DIR = "/Users/#{ENV['USER']}/Library/Application Support/iPhone Simulator/#{SDK}/Applications"
      USERDEFAULTS_PLIST = "Library/Preferences/com.yourcompany.#{APPNAME}.dist.plist"
      Dir.foreach(APPLICATIONS_DIR) do |item|
        next if item == '.' or item == '..'
        if File::exists?( "#{APPLICATIONS_DIR}/#{item}/#{USERDEFAULTS_PLIST}")
          FileUtils.rm "#{APPLICATIONS_DIR}/#{item}/#{USERDEFAULTS_PLIST}" 
        end
      end
      steps "Given I launch the #{device} app"
    end
    

    Taking a screenshot of the app

    Then /^I save a screenshot with prefix (\w+)$/ do |prefix|
     filename = prefix + Time.now.to_i.to_s
     %x[screencapture #{filename}.png]
    end
    

    Deleting a table view cell

    (see this thread for details)

    When /^I delete the table view cell marked "([^"]*)"$/ do |mark|
      raise "no table view cell marked '#{mark}' could be found to delete" unless element_exists("tableViewCell label marked:'#{mark}'")
      frankly_map( "tableViewCell label marked:'#{mark}' parent tableViewCell delete", "tag" ) 
    end
    

    Selecting from a UIPickerView

    From http://groups.google.com/group/frank-discuss/browse_thread/thread/419a5f08d7ebb422

    When /^I select (\d*)(?:st|nd|rd|th)? row in picker "([^\"]*)"$/ do | 
    row_ordinal, theview| 
      selector = "view:'UIPickerView' marked:'#{theview}'" 
      row_index = row_ordinal.to_i - 1
      views_switched = frankly_map( selector, 'selectRow:inComponent:animated:', row_index, 0, false ) 
      raise "could not find anything matching [#{row_ordinal}] to switch" if views_switched.empty? 
    end 
    

    转自:https://github.com/moredip/Frank/wiki/Step-Definition-compendium
  • 相关阅读:
    Python统计excel表格中文本的词频,生成词云图片
    springboot application.properties 常用完整版配置信息
    JAVA高级-面试题总结
    删除csdn上面自己上传的资源
    本博客背景特效源码
    我的自定义框架 || 基于Spring Boot || 第一步
    PYTHON 实现的微信跳一跳【辅助工具】仅作学习
    PM2守护babel-node
    记一个HOST引起的前端项目打不开的问题
    迭代器与iterable
  • 原文地址:https://www.cnblogs.com/simonshi2012/p/2160695.html
Copyright © 2011-2022 走看看