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
  • 相关阅读:
    cpu capacity、task_util、cpu_util是如何计算的?
    QTI EAS学习之find_energy_efficient_cpu
    Linux内核进程调度overview(1)
    Ondemand和Interactive gonernor工作逻辑简述
    利用init进程监控底层节点的方法架构
    Sched_Boost小结
    SchedTune
    Cpusets学习
    搭建SpringCloud微服务框架:三、读取Nacos的配置信息
    搭建SpringCloud微服务框架:一、结构和各个组件
  • 原文地址:https://www.cnblogs.com/simonshi2012/p/2160695.html
Copyright © 2011-2022 走看看