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
  • 相关阅读:
    2014/11/25 函数
    2014/11/24 条件查询
    2、计算器
    1、winform数据库调用(基本方法)
    1、网页基础
    14、函数输出参数、递归
    13、C#简易版 推箱子游戏
    12、函数
    11、结构体、枚举
    10、特殊集合
  • 原文地址:https://www.cnblogs.com/simonshi2012/p/2160695.html
Copyright © 2011-2022 走看看