Files
cappuccino/Tests/CucumberTests/CPViewControllerTest/features/support/steps_helpers.rb
T

92 lines
3.0 KiB
Ruby

def check_value_control(element, property, property_value, value)
xpath = create_xpath(element, property, property_value)
app.gui.wait_for xpath
app.gui.value_is_equal xpath, value
end
def simulate_keyboard_event(keys, mask)
app.gui.simulate_keyboard_events cappuccino_key(keys), [cappuccino_key(mask)]
end
def simulate_click(type, element, property, property_value, mask)
xpath = create_xpath(element, property, property_value)
app.gui.wait_for xpath
if type == $mouse_double_click
app.gui.simulate_double_click xpath, [cappuccino_key(mask)]
elsif type == $mouse_right_click
app.gui.simulate_right_click xpath, [cappuccino_key(mask)]
else
app.gui.simulate_left_click xpath, [cappuccino_key(mask)]
end
end
def simulate_drag_and_drop(element, property, property_value, second_element, second_property, second_property_value, mask)
xpath1 = create_xpath(element, property, property_value)
xpath2 = create_xpath(second_element, second_property, second_property_value)
app.gui.simulate_dragged_click_view_to_view xpath1, xpath2, [cappuccino_key(mask)]
end
def simulate_scroll(element, property, property_value, times, mask, horizontal, vertical)
xpath = create_xpath(element, property, property_value)
delta_x = 0
delta_y = 0
if horizontal
delta_x = 1
end
if vertical
delta_y = 1
end
for i in 0..times.to_i
app.gui.simulate_scroll_wheel xpath, delta_x, delta_y, [cappuccino_key(mask)]
end
end
def select_pop_up_button_item(item_name, property, property_value)
simulate_click($mouse_left_click, "pop-up-button", property, property_value, [])
pop_up_button_xpath = create_xpath("pop-up-button", property, property_value)
pop_up_button_item_xpath = create_xpath("image-view-text", "text", item_name)
while !app.gui.wait_for_element(pop_up_button_item_xpath, 0.05) && app.gui.pop_up_button_can_scroll_up(pop_up_button_xpath)
simulate_keyboard_event("up-arrow", [])
end
while !app.gui.wait_for_element(pop_up_button_item_xpath, 0.05) && app.gui.pop_up_button_can_scroll_down(pop_up_button_xpath)
simulate_keyboard_event("down-arrow", [])
end
if not app.gui.wait_for(pop_up_button_item_xpath)
raise "Menu item #{item_name} not found !"
end
simulate_click($mouse_left_click, "image-view-text", "text", item_name, [])
end
def cappuccino_key(key)
if $key_mappings.has_key?(key)
key = $key_mappings[key]
end
return key
end
def create_xpath(element, property, property_value)
if !$cappuccino_control_mappings.has_key?(element)
raise "Element #{element} not found in the hash cappuccino_control_mappings. You should complete the hash $cappuccino_control_mappings in env.rb"
end
if !$property_mappings.has_key?(property)
raise "Property #{property} not found in the hash $property_mappings. You should complete the hash $property_mappings in env.rb"
end
return "//" + $cappuccino_control_mappings[element] + "["+ $property_mappings[property] +"='#{property_value}']"
end