Class: Screen
- Inherits:
-
Object
- Object
- Screen
- Defined in:
- lib/screen.rb
Instance Method Summary collapse
- #accessible_buttons ⇒ Object
- #accessible_labels ⇒ Object
- #accessible_tables ⇒ Object
- #accessible_text_fields ⇒ Object
- #add_views(json) ⇒ Object
- #all_views ⇒ Object
- #get_class(view_data) ⇒ Object
- #get_label(view_data) ⇒ Object
-
#initialize(screen_data = nil) ⇒ Screen
constructor
A new instance of Screen.
- #view_accessibility_height(label) ⇒ Object
- #view_accessibility_width(label) ⇒ Object
- #view_by_id(id) ⇒ Object
- #view_by_label(label) ⇒ Object
- #view_class(label) ⇒ Object
- #view_frame(label) ⇒ Object
- #view_frame_height(label) ⇒ Object
- #view_frame_width(label) ⇒ Object
- #view_is_visible(label) ⇒ Object
- #view_origin(label) ⇒ Object
- #view_tag(label) ⇒ Object
- #view_x(label) ⇒ Object
- #view_y(label) ⇒ Object
Constructor Details
#initialize(screen_data = nil) ⇒ Screen
Returns a new instance of Screen.
3 4 5 6 7 8 9 |
# File 'lib/screen.rb', line 3 def initialize(screen_data = nil) if screen_data.nil? @screen_data = MultiJson.load(Frank::Cucumber::Gateway.new.send_get('dump')) else @screen_data = screen_data end end |
Instance Method Details
#accessible_buttons ⇒ Object
87 88 89 90 91 92 93 94 95 |
# File 'lib/screen.rb', line 87 def = [] all_views.each do |view| if get_class(view).include? 'Button' << get_label(view) unless get_label(view).nil? end end end |
#accessible_labels ⇒ Object
117 118 119 120 121 122 123 124 125 |
# File 'lib/screen.rb', line 117 def accessible_labels labels = [] all_views.each do |view| if get_class(view).include? 'Label' labels << get_label(view) unless get_label(view).nil? end end labels end |
#accessible_tables ⇒ Object
107 108 109 110 111 112 113 114 115 |
# File 'lib/screen.rb', line 107 def accessible_tables tables = [] all_views.each do |view| if get_class(view).include? 'TableView' tables << get_label(view) unless get_label(view).nil? end end tables end |
#accessible_text_fields ⇒ Object
97 98 99 100 101 102 103 104 105 |
# File 'lib/screen.rb', line 97 def accessible_text_fields texts = [] all_views.each do |view| if get_class(view).include? 'UITextField' texts << get_label(view) unless get_label(view).nil? end end texts end |
#add_views(json) ⇒ Object
16 17 18 19 20 21 |
# File 'lib/screen.rb', line 16 def add_views(json) json["subviews"].each do |view| add_view view add_views(view) unless view["subviews"].count == 0 end end |
#all_views ⇒ Object
11 12 13 14 |
# File 'lib/screen.rb', line 11 def all_views add_views(@screen_data) @views end |
#get_class(view_data) ⇒ Object
79 80 81 |
# File 'lib/screen.rb', line 79 def get_class(view_data) view_data["class"] end |
#get_label(view_data) ⇒ Object
83 84 85 |
# File 'lib/screen.rb', line 83 def get_label(view_data) view_data["accessibilityLabel"] end |
#view_accessibility_height(label) ⇒ Object
71 72 73 |
# File 'lib/screen.rb', line 71 def view_accessibility_height(label) view_by_label(label)["accessibilityFrame"]["size"]["height"] end |
#view_accessibility_width(label) ⇒ Object
75 76 77 |
# File 'lib/screen.rb', line 75 def view_accessibility_width(label) view_by_label(label)["accessibilityFrame"]["size"]["width"] end |
#view_by_id(id) ⇒ Object
23 24 25 26 27 |
# File 'lib/screen.rb', line 23 def view_by_id(id) @found_view = nil view_by_id_with_data(@screen_data, id) @found_view end |
#view_by_label(label) ⇒ Object
29 30 31 32 33 |
# File 'lib/screen.rb', line 29 def view_by_label(label) @found_view = nil view_by_label_with_data(@screen_data, label) @found_view end |
#view_class(label) ⇒ Object
35 36 37 |
# File 'lib/screen.rb', line 35 def view_class(label) view_by_label(label)["class"] end |
#view_frame(label) ⇒ Object
47 48 49 |
# File 'lib/screen.rb', line 47 def view_frame(label) view_by_label(label)["frame"] end |
#view_frame_height(label) ⇒ Object
43 44 45 |
# File 'lib/screen.rb', line 43 def view_frame_height(label) view_frame(label)["size"]["height"] end |
#view_frame_width(label) ⇒ Object
39 40 41 |
# File 'lib/screen.rb', line 39 def view_frame_width(label) view_frame(label)["size"]["width"] end |
#view_is_visible(label) ⇒ Object
51 52 53 |
# File 'lib/screen.rb', line 51 def view_is_visible(label) view_by_label(label)["isHidden"] == 0 end |
#view_origin(label) ⇒ Object
63 64 65 |
# File 'lib/screen.rb', line 63 def view_origin(label) view_by_label(label) end |
#view_tag(label) ⇒ Object
67 68 69 |
# File 'lib/screen.rb', line 67 def view_tag(label) view_by_label(label)["tag"] end |
#view_x(label) ⇒ Object
55 56 57 |
# File 'lib/screen.rb', line 55 def view_x(label) view_by_label(label)["accessibilityFrame"]["origin"]["x"] end |
#view_y(label) ⇒ Object
59 60 61 |
# File 'lib/screen.rb', line 59 def view_y(label) view_by_label(label)["accessibilityFrame"]["origin"]["y"] end |