Ifd_Automation 2.8.2 → 2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/bin/documentation_generator.rb +0 -0
  3. data/bin/generate.rb +0 -6
  4. data/bin/helper.rb +0 -0
  5. data/lib/Ifd_Automation.rb +1 -0
  6. data/{project/features/step_definitions/IFD_Libraries → lib/Ifd_Automation}/REST_steps.rb +0 -0
  7. data/{project/features/step_definitions/IFD_Libraries → lib/Ifd_Automation}/SOAP_steps.rb +0 -0
  8. data/lib/Ifd_Automation/all_steps.rb +0 -0
  9. data/{project/features/step_definitions/IFD_Libraries → lib/Ifd_Automation}/database_steps.rb +1 -1
  10. data/{project/features/step_definitions/IFD_Libraries → lib/Ifd_Automation}/dynamic_store_value_steps.rb +0 -0
  11. data/{project/features/step_definitions/IFD_Libraries → lib/Ifd_Automation}/email_steps.rb +0 -0
  12. data/{project/features/step_definitions/IFD_Libraries → lib/Ifd_Automation}/file_steps.rb +0 -0
  13. data/lib/Ifd_Automation/require_libs.rb +0 -0
  14. data/{project/features/step_definitions/IFD_Libraries → lib/Ifd_Automation}/ssh_steps.rb +0 -0
  15. data/lib/Ifd_Automation/version.rb +1 -1
  16. data/lib/Ifd_Automation/web_steps.rb +109 -0
  17. data/lib/helper/assertion_helper.rb +0 -0
  18. data/lib/helper/auto_util.rb +0 -0
  19. data/lib/helper/database_helper.rb +0 -0
  20. data/lib/helper/file_helper.rb +0 -0
  21. data/lib/helper/mail_helper.rb +0 -0
  22. data/lib/helper/rest_helper.rb +0 -0
  23. data/lib/helper/soap_helper.rb +0 -0
  24. data/lib/helper/ssh_helper.rb +1 -1
  25. data/lib/helper/step_fallback.rb +13 -0
  26. data/lib/helper/tolerance_for_selenium_sync_issues.rb +72 -0
  27. data/lib/helper/web_steps_helper.rb +539 -325
  28. data/project/Gemfile +0 -0
  29. data/project/README.md +5 -21
  30. data/project/cucumber.yml +3 -3
  31. data/project/features/TestData/globalData.yml +0 -0
  32. data/project/features/TestSuite/WebGUI.feature +3 -4
  33. data/project/features/step_definitions/lib_steps/steps_definition.rb +3 -0
  34. data/project/features/step_definitions/repositories/project_object.yml +1 -2
  35. data/project/features/support/env.rb +30 -100
  36. data/project/features/support/hooks.rb +4 -4
  37. data/project/features/support/project_config.rb +13 -0
  38. metadata +30 -23
  39. data/project/Dockerfile +0 -20
  40. data/project/docker-compose.yml +0 -7
  41. data/project/features/Screenshot/sample.jpg +0 -0
  42. data/project/features/step_definitions/IFD_Libraries/web_steps.rb +0 -98
  43. data/project/features/step_definitions/lib_steps/actionwords.rb +0 -9
  44. data/project/features/step_definitions/lib_steps/steps.rb +0 -6
data/project/Gemfile CHANGED
File without changes
data/project/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  ###Ifd_Automation gem
2
2
  Ifd_Automation is an open-source tool for automating GUI, RESTful, SOAP, Database and eMail.
3
- Importantly, Ifd_Automation is "cross-platform": it allows you to write tests against multiple platforms (Linux, Windows, MacOS) on multiple browsers (chrome, firefox ...) using the same API.
3
+ Importantly, Ifd_Automation is cross-platform, it allows you to write tests against multiple platforms (Linux, Windows, MacOS) on multiple browsers (chrome, firefox ...) using the same API.
4
4
 
5
5
  ###Getting Started
6
6
  These instructions will get you a copy of the project up and running on your local machine for testing purposes. See deployment for notes on how to install Ifd_Automation gem
@@ -26,8 +26,10 @@ By default, the steps which relate to test data will be read/created from this f
26
26
  - TestSuite folder
27
27
  Place to store user's feature files.
28
28
 
29
+ - pre-defined-steps folder
30
+ All available steps from framework
31
+
29
32
  - Step_definitions folder
30
- - IFD_Libraries (contains custom Ifd_Automation steps)
31
33
  - lib_steps
32
34
  - actionword.rb
33
35
  - steps.rb
@@ -37,24 +39,6 @@ Place to store user's feature files.
37
39
  - support
38
40
  - env.rb
39
41
  - hook.rb
42
+
40
43
  ###Usage
41
44
  ####Available steps
42
- All available steps are located at IFD_Libaries folder, below are instructions show how to use these libraries
43
-
44
- ----
45
- #####web steps
46
- 1. Open browser and navigate to the page test page. The page address can be insert directly into step or using dynamic
47
- `Given I am on the "page_url" page`
48
- #####example
49
- - `Given I am on the "http://google.com" page`
50
- - `Given I am on the "params='test_page'" page`
51
-
52
- 2. Wait for number of seconds before doing the next step
53
- `And I wait for <number> seconds`
54
- #####example
55
- `And I wait for 5 seconds`
56
- 3. Click on an element
57
- `And I click on "string"`
58
- #####example
59
- `And I click on "button_login"`
60
-
data/project/cucumber.yml CHANGED
@@ -1,6 +1,6 @@
1
1
  default: --no-source
2
- <% remote = "SELENIUM=remote" %>
3
- remote_chrome: BROWSER=chrome <%= remote %>
4
- remote_firefox: BROWSER=firefox <%= remote %>
2
+ remote: SELENIUM=remote
3
+ remote_chrome: BROWSER=chrome -p remote
4
+ remote_firefox: BROWSER=firefox -p remote
5
5
  junit_report: -f progress -f junit -o Report
6
6
  html_report: -f progress -f html -o Report
File without changes
@@ -1,5 +1,4 @@
1
- Feature: Example feature for GUI testingz
2
-
3
- Scenario: testing case for web interaction
4
- Given I am on the "params='login_page'" page
1
+ Feature: Jira ticket name
5
2
 
3
+ Scenario: login to system with valid account
4
+ Given I open the homepage in Sportpartner
@@ -0,0 +1,3 @@
1
+ And /I test/ do
2
+
3
+ end
@@ -1,2 +1 @@
1
- textbox_username: {css_selector: '#userField'}
2
- textbox_password: {css_selector: '#passwordField'}
1
+ test: {xpath_selector: '//ul[@id="second-menu"]/li[2]/a'}
@@ -12,39 +12,14 @@ require 'capybara/cucumber'
12
12
  require 'cucumber'
13
13
  require 'yaml'
14
14
  require 'selenium-webdriver'
15
+ require "#{$current_dir}/project_config.rb"
15
16
  require 'Ifd_Automation'
17
+ # require_relative '../../../lib/Ifd_Automation/web_steps'
16
18
 
17
- if ENV["BROWSER"].nil?
18
- raise "ERROR***: MISSING BROWSER... Supported Browsers: Chrome/Firefox. Example: 'BROWSER=chrome'"
19
- end
19
+ $_CFWEB['Wait Time'] = ENV["WAIT_TIME"] || $wait_time
20
+ $_CFWEB['Print Log'] = ENV["PRINT_LOG"] || $print_log
21
+ $_CFWEB['Maximize Browser'] = ENV["MAXIMIZE_BROWSER"] || $maximize_browser
20
22
 
21
- $_CFWEB['Default Browser'] = ENV["BROWSER"].downcase
22
- $_CFWEB['Wait Time'] = ENV["wait_time"] || 10
23
- $_CFWEB['Print Log'] = ENV["print_log"]
24
- $_CFWEB['Maximize Browser'] = ENV["maximize_browser"] || true
25
- $SEND_EMAIL_USERNAME = $PARAMS["send_email_username"]
26
- $SEND_EMAIL_PASSWORD = $PARAMS["send_email_password"]
27
- $RECEIVE_EMAIL_USERNAME = $PARAMS["receive_email_username"]
28
- $RECEIVE_EMAIL_PASSWORD = $PARAMS["receive_email_password"]
29
- Mail.defaults do
30
- delivery_method :smtp, {
31
- :enable_starttls_auto => true,
32
- :address => 'smtp.gmail.com',
33
- :port => 25,
34
- :domain => 'gmail.com',
35
- :authentication => :plain,
36
- :openssl_verify_mode => 'none',
37
- :user_name => $SEND_EMAIL_USERNAME,
38
- :password => $SEND_EMAIL_PASSWORD
39
- }
40
- retriever_method :pop3, {
41
- :address => 'pop.gmail.com',
42
- :port => 995,
43
- :user_name => $RECEIVE_EMAIL_USERNAME,
44
- :password => $RECEIVE_EMAIL_PASSWORD,
45
- :enable_ssl => true
46
- }
47
- end
48
23
  Capybara.configure do |config|
49
24
  config.default_max_wait_time = $_CFWEB['Wait Time']
50
25
  config.default_driver = :selenium
@@ -52,76 +27,31 @@ Capybara.configure do |config|
52
27
  config.ignore_hidden_elements = true
53
28
  end
54
29
 
55
- def register_selenium_remote_driver(browser)
56
- case browser
57
- when "firefox"
58
- caps = Selenium::WebDriver::Remote::Capabilities.firefox
59
- caps['recordVideo'] = ENV["recordVideo"]
60
- caps['name'] = ENV["name"]
61
- caps['build'] = ENV["build"]
62
- Capybara.register_driver :selenium do |app|
63
- Capybara::Selenium::Driver.new(app,
64
- browser: :remote,
65
- url: "http://#{ENV["SELENIUM_SERVER"]}:4444/wd/hub",
66
- desired_capabilities: caps)
67
- end
68
- when "chrome"
69
- caps = Selenium::WebDriver::Remote::Capabilities.chrome
70
- caps['recordVideo'] = ENV["recordVideo"]
71
- caps['name'] = ENV["name"]
72
- caps['build'] = ENV["build"]
73
- Capybara.register_driver :selenium do |app|
74
- Capybara::Selenium::Driver.new(app,
75
- browser: :remote,
76
- url: "http://#{ENV["SELENIUM_SERVER"]}:4444/wd/hub",
77
- desired_capabilities: caps)
78
- end
79
- else
80
- raise "ERROR: Browser: #{browser} is not supported"
81
- end
82
- end
83
-
84
- def register_selenium_local_driver(browser)
30
+ begin
31
+ server_url = ENV["SELENIUM_SERVER"] || $selnium_server || 'http://localhost:4444/wd/hub'
85
32
  Capybara.register_driver :selenium do |app|
86
- case browser
87
- when "firefox"
88
- profile = Selenium::WebDriver::Firefox::Profile.new
89
- profile['browser.download.folderList'] = 2
90
- profile['browser.helperApps.neverAsk.saveToDisk'] = "text/csv,application/pdf,application/x-pdf,application/octet-stream"
91
- profile["pdfjs.disabled"] = true
92
- Capybara::Selenium::Driver.new(app, :browser => browser.to_sym, :profile => profile)
93
- when "chrome"
94
- prefs = {:download => {
95
- :prompt_for_download => false
96
- }}
97
- args = []
98
- args << "--test-type" #to fix the error of chrome "you are using an unsupported command-line flag ignore-certificate-errors"
99
- Capybara::Selenium::Driver.new(app, :browser => browser.to_sym, :prefs => prefs, :args => args)
100
- else
101
- raise "ERROR: Browser: #{browser} is not supported"
102
- end
33
+ Capybara::Selenium::Driver.new(app, browser: :remote, url: server_url, desired_capabilities: $capabilities)
103
34
  end
35
+ rescue StandardError => e
36
+ raise "ERROR: #{e}"
104
37
  end
105
-
106
- case ENV["SELENIUM"]
107
- when "remote"
108
- if ENV["SELENIUM_SERVER"].nil?
109
- raise "ERROR***: MISSING SELENIUM_SERVER IP... Example: 'SELENIUM_SERVER=localhost'"
110
- else
111
- register_selenium_remote_driver($_CFWEB['Default Browser'])
112
- end
113
- else
114
- register_selenium_local_driver($_CFWEB['Default Browser'])
115
- end
116
-
117
- # Available execution environment variables
118
- # - SELENIUM = remote
119
- # - SELENIUM_SERVER = 10.0.0.1
120
- # - BROWSER = "chrome"/"firefox"
121
- # - wait_time = 30
122
- # - print_log = true/false
123
- # - maximize_browser = true/false
124
- # - recordVideo
125
- # - name
126
- # - build
127
- # - save_screenshot
38
+ # desired_caps = {
39
+ # :caps => {
40
+ # # The generated session will be visible to you only.
41
+ # :sessionName => 'Automation test session',
42
+ # :sessionDescription => '',
43
+ # :deviceOrientation => 'portrait',
44
+ # :captureScreenshots => true,
45
+ # :browserName => 'chrome',
46
+ # :deviceGroup => 'KOBITON',
47
+ # # For deviceName, platformVersion Kobiton supports wildcard
48
+ # # character *, with 3 formats: *text, text* and *text*
49
+ # # If there is no *, Kobiton will match the exact text provided
50
+ # :deviceName => 'LG X power',
51
+ # :platformName => 'Android',
52
+ # :platformVersion => '6.0.1'
53
+ # },
54
+ # :appium_lib => {
55
+ # :server_url => 'https://anhpham2710:ea534084-f060-423c-8097-bee633d131fb@api.kobiton.com/wd/hub'
56
+ # }
57
+ # }
@@ -9,14 +9,14 @@ Before do
9
9
  end
10
10
 
11
11
  After do |scenario|
12
- if ENV['save_screenshot'] == "true"
13
- file_name = 'failed_%s.png' % rand(1000).to_s
14
- page.save_screenshot($screenshot+file_name) if scenario.failed?
12
+ # if ENV['save_screenshot'] == "true"
13
+ # file_name = 'failed_%s.png' % rand(1000).to_s
14
+ # page.save_screenshot($screenshot+file_name) if scenario.failed?
15
15
  begin
16
16
  Capybara.page.driver.quit
17
17
  Capybara.send(:session_pool).delete_if { |key, value| key =~ /selenium/i }
18
18
  rescue StandardError => myStandardError
19
19
  raise "\n>>> Error: #{myStandardError}"
20
20
  end
21
- end
21
+ # end
22
22
  end
@@ -0,0 +1,13 @@
1
+ $maximize_browser = true
2
+ $wait_time = 10
3
+ $print_log = true
4
+ $record_video = false
5
+ $default_browser = 'chrome'
6
+ $selenium_platform = 'LINUX'
7
+ $selnium_server = 'http://localhost:4444/wd/hub'
8
+ $capabilities = Selenium::WebDriver::Remote::Capabilities.new
9
+ $capabilities['platform'] = ENV['SELENIUM_PLATFORM'] || $selenium_platform || 'ANY'
10
+ $capabilities['recordVideo'] = ENV["recordVideo"] || $record_video || false
11
+ $capabilities['name'] = ENV["name"] || 'INFOdation Test Management System'
12
+ $capabilities['browserName'] = ENV['SELENIUM_BROWSER'] || $default_browser || 'chrome'
13
+ $capabilities['version'] = ENV['SELENIUM_VERSION'] if ENV['SELENIUM_VERSION']
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: Ifd_Automation
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.8.2
4
+ version: '2.9'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anh Pham
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-02-20 00:00:00.000000000 Z
11
+ date: 2019-04-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: selenium-webdriver
@@ -204,22 +204,16 @@ dependencies:
204
204
  name: rspec
205
205
  requirement: !ruby/object:Gem::Requirement
206
206
  requirements:
207
- - - "~>"
208
- - !ruby/object:Gem::Version
209
- version: 3.7.0
210
207
  - - ">="
211
208
  - !ruby/object:Gem::Version
212
- version: 3.7.0
209
+ version: '0'
213
210
  type: :runtime
214
211
  prerelease: false
215
212
  version_requirements: !ruby/object:Gem::Requirement
216
213
  requirements:
217
- - - "~>"
218
- - !ruby/object:Gem::Version
219
- version: 3.7.0
220
214
  - - ">="
221
215
  - !ruby/object:Gem::Version
222
- version: 3.7.0
216
+ version: '0'
223
217
  - !ruby/object:Gem::Dependency
224
218
  name: parallel_tests
225
219
  requirement: !ruby/object:Gem::Requirement
@@ -240,6 +234,20 @@ dependencies:
240
234
  - - ">="
241
235
  - !ruby/object:Gem::Version
242
236
  version: 2.7.1
237
+ - !ruby/object:Gem::Dependency
238
+ name: cucumber_priority
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ">="
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
244
+ type: :runtime
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
243
251
  description: Behavior driven development (BDD) approach to write automation test script
244
252
  to test GUI, RESTful, SOAP, Database, eMail.
245
253
  email:
@@ -256,9 +264,17 @@ files:
256
264
  - bin/helper.rb
257
265
  - bin/setup
258
266
  - lib/Ifd_Automation.rb
267
+ - lib/Ifd_Automation/REST_steps.rb
268
+ - lib/Ifd_Automation/SOAP_steps.rb
259
269
  - lib/Ifd_Automation/all_steps.rb
270
+ - lib/Ifd_Automation/database_steps.rb
271
+ - lib/Ifd_Automation/dynamic_store_value_steps.rb
272
+ - lib/Ifd_Automation/email_steps.rb
273
+ - lib/Ifd_Automation/file_steps.rb
260
274
  - lib/Ifd_Automation/require_libs.rb
275
+ - lib/Ifd_Automation/ssh_steps.rb
261
276
  - lib/Ifd_Automation/version.rb
277
+ - lib/Ifd_Automation/web_steps.rb
262
278
  - lib/helper/assertion_helper.rb
263
279
  - lib/helper/auto_util.rb
264
280
  - lib/helper/database_helper.rb
@@ -267,28 +283,19 @@ files:
267
283
  - lib/helper/rest_helper.rb
268
284
  - lib/helper/soap_helper.rb
269
285
  - lib/helper/ssh_helper.rb
286
+ - lib/helper/step_fallback.rb
287
+ - lib/helper/tolerance_for_selenium_sync_issues.rb
270
288
  - lib/helper/web_steps_helper.rb
271
- - project/Dockerfile
272
289
  - project/Gemfile
273
290
  - project/README.md
274
291
  - project/cucumber.yml
275
- - project/docker-compose.yml
276
- - project/features/Screenshot/sample.jpg
277
292
  - project/features/TestData/globalData.yml
278
293
  - project/features/TestSuite/WebGUI.feature
279
- - project/features/step_definitions/IFD_Libraries/REST_steps.rb
280
- - project/features/step_definitions/IFD_Libraries/SOAP_steps.rb
281
- - project/features/step_definitions/IFD_Libraries/database_steps.rb
282
- - project/features/step_definitions/IFD_Libraries/dynamic_store_value_steps.rb
283
- - project/features/step_definitions/IFD_Libraries/email_steps.rb
284
- - project/features/step_definitions/IFD_Libraries/file_steps.rb
285
- - project/features/step_definitions/IFD_Libraries/ssh_steps.rb
286
- - project/features/step_definitions/IFD_Libraries/web_steps.rb
287
- - project/features/step_definitions/lib_steps/actionwords.rb
288
- - project/features/step_definitions/lib_steps/steps.rb
294
+ - project/features/step_definitions/lib_steps/steps_definition.rb
289
295
  - project/features/step_definitions/repositories/project_object.yml
290
296
  - project/features/support/env.rb
291
297
  - project/features/support/hooks.rb
298
+ - project/features/support/project_config.rb
292
299
  homepage: http://rubygems.org/gems/ifd_automation
293
300
  licenses:
294
301
  - MIT
data/project/Dockerfile DELETED
@@ -1,20 +0,0 @@
1
- FROM ruby:2.3.1
2
-
3
- MAINTAINER anhpham@infodation.vn
4
- RUN apt-get -qq update
5
- RUN mkdir /home/temp
6
- WORKDIR /home/temp
7
- RUN set -ex \
8
- && wget -O freetds-1.00.21.tar.gz "http://www.freetds.org/files/stable/freetds-1.00.21.tar.gz" \
9
- && tar -xzf freetds-1.00.21.tar.gz \
10
- && cd freetds-1.00.21 \
11
- && ./configure \
12
- && make \
13
- && make install
14
- ENV APP_HOME /home/automation
15
- RUN mkdir -p $APP_HOME
16
- RUN chmod -R 777 $APP_HOME
17
- COPY Ifd_Automation-2.7.gem $APP_HOME
18
- WORKDIR $APP_HOME
19
- RUN gem install Ifd_Automation-2.7.gem
20
-
@@ -1,7 +0,0 @@
1
- version: '2'
2
- services:
3
- automation:
4
- build: .
5
- command: tail -F anything
6
- volumes:
7
- - ./:/home/automation
Binary file
@@ -1,98 +0,0 @@
1
-
2
- # Navigate to a particular page
3
- Given(/^I am on the "([^"]*)" page$/) do |url|
4
- url = Utils.check_dynamic_value(url)
5
- execute_openbrowser(url)
6
- end
7
-
8
- # # Wait for the specific time
9
- When /^I wait for (\d+) seconds$/ do |second|
10
- sleep(second.to_i)
11
- end
12
-
13
- # Finds a button or link by id, text or value and clicks it
14
- And /^I click on "([^\"]*)"$/ do |object|
15
- execute_click(object)
16
- end
17
-
18
- # double click on web element
19
- Then /^I double click on element "(.*?)"$/ do |element|
20
- double_click(element)
21
- end
22
-
23
- # Fill in a text box or text area with a value
24
- And /^I set text on "(.*?)" with "(.*?)"$/ do |object, text|
25
- text = Utils.check_dynamic_value text
26
- execute_settext(object, text)
27
- end
28
-
29
- # select option
30
- And /^I select option on "(.*?)" with "(.*?)"$/ do |object, text|
31
- execute_select(object, text)
32
- end
33
-
34
-
35
- # step to maximize browser
36
- Then(/^I maximize browser window$/) do
37
- maximize_browser
38
- end
39
-
40
- Then /^Capture a screenshot as "(.*)"$/ do |name|
41
- file_path = $test_data_dir + name.downcase
42
- page.save_screenshot(file_path)
43
- end
44
-
45
- Then(/^I switch to window having title "(.*?)"$/) do |window_title|
46
- switch_to_window_by_title window_title
47
- end
48
-
49
- # steps to scroll web page to top or end
50
- Then(/^I scroll to (top|end) of page$/) do |to|
51
- scroll_page(to)
52
- end
53
-
54
- # check property for object
55
- Then /^I check property "(.*?)" with "(.*?)" has( | not)? value "(.*?)"$/ do |object, property, negate, value|
56
- value = Utils.bind_with_dyn_vars value
57
- execute_checkproperty(object, property, negate, value)
58
- end
59
-
60
- # step to assert javascript pop-up alert text
61
- Then(/^I should see alert text as "(.*?)"$/) do |actual_value|
62
- check_alert_text(actual_value)
63
- end
64
-
65
- Given /^I move mouse to element "(.*)" and click$/ do |object|
66
- execute_mousehoverandclick(object)
67
- end
68
-
69
- And /^remove attribute "(.*)" on object "(.*)"$/ do |attr, object|
70
- remove_element_attribute object, attr
71
- end
72
-
73
- # set state for check box, combo box
74
- And /^I set state on "(.*?)" with "(.*?)"$/ do |object, state|
75
- execute_setstate(object, state)
76
- end
77
-
78
- And /I resize window screen to "(.*)","(.*)"/ do |x,y|
79
- resize_window_screen(x,y)
80
- end
81
-
82
- And /I verify object "(.*)" with "(.*)" has value "(.*)"/ do |object,style,expected_value|
83
- actual_value = get_computed_style(object,style)
84
- IFD_Assertion.assert_string_equal(expected_value,actual_value)
85
- end
86
-
87
- Then /^I should( not)? see page title as (.*)$/ do |present, title|
88
- check_title(title, present.empty?)
89
- end
90
-
91
- And /I move mouse to element "(.*)" and choose item "(.*)" then click/ do |var, element|
92
- movemouseandclick(var, element)
93
- end
94
-
95
- And /I hold element "(.*)" and move from location x "(.*)" to y "(.*)"$/ do |el, x, y|
96
- drag_drop el, x, y
97
- end
98
-