itms_automation 2.6.1 → 2.6.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b68795c70dc3849953992aa8fd7f5e15dbe8c7941b0718f4674a3bed95356592
4
- data.tar.gz: 288c82ec446b0f03622ebaa995fd2930b364105bd14922e3d67c6bd738698fd2
3
+ metadata.gz: 4feb41c4f5dd09900380546aff2b9631e24f56e0f71221f537ea430ed6bd0aa5
4
+ data.tar.gz: 40dbc3a2a3b1221a55801afc5718d196e1532be10cdba9273c7bd683f9d13b94
5
5
  SHA512:
6
- metadata.gz: 5ad134e0e2128eb50b3041765462a8ea8c5a849db0e700859d7a5d0396bb1aa15a4a8c1331fb5c3859cff04f107006c94507b5828bcb62cae565428e8f3b9671
7
- data.tar.gz: 3e3e5e9bf6f56087f59b46d343172ee56c17d3d0a7d6a9fe9c680818f8b8ac40bf2cae84c1e6765e3366e30b00cabf30dc1f3177e83431d21af0bfcc8dc40fd7
6
+ metadata.gz: 0bb2b034e973e9672ac206c8a6f1105881e5b598874a727ff15560bc3b366d7b3e69b0d56312568f248191cb0cf0a538771a7b268c39001ec2963d2bc3188d48
7
+ data.tar.gz: 0767eab9e0c95a774932f66916a2316606006e420497a68e2793286dd501a683e74bedb4734f86b82dfc521ba96eea92ac29397f36858f1b936e8af0f6be72f1
@@ -0,0 +1,3 @@
1
+ source 'http://rubygems.org'
2
+ gem 'report_builder'
3
+ gem 'itms_automation'
@@ -0,0 +1,63 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ appium_lib_core (3.10.1)
5
+ faye-websocket (~> 0.10.0)
6
+ selenium-webdriver (~> 3.14, >= 3.14.1)
7
+ backports (3.18.1)
8
+ builder (3.2.4)
9
+ childprocess (3.0.0)
10
+ cucumber (3.1.2)
11
+ builder (>= 2.1.2)
12
+ cucumber-core (~> 3.2.0)
13
+ cucumber-expressions (~> 6.0.1)
14
+ cucumber-wire (~> 0.0.1)
15
+ diff-lcs (~> 1.3)
16
+ gherkin (~> 5.1.0)
17
+ multi_json (>= 1.7.5, < 2.0)
18
+ multi_test (>= 0.1.2)
19
+ cucumber-core (3.2.1)
20
+ backports (>= 3.8.0)
21
+ cucumber-tag_expressions (~> 1.1.0)
22
+ gherkin (~> 5.0)
23
+ cucumber-expressions (6.0.1)
24
+ cucumber-tag_expressions (1.1.1)
25
+ cucumber-wire (0.0.1)
26
+ diff-lcs (1.4.4)
27
+ eventmachine (1.2.7)
28
+ faye-websocket (0.10.9)
29
+ eventmachine (>= 0.12.0)
30
+ websocket-driver (>= 0.5.1)
31
+ gherkin (5.1.0)
32
+ httparty (0.13.7)
33
+ json (~> 1.8)
34
+ multi_xml (>= 0.5.2)
35
+ itms_automation (2.6.1)
36
+ appium_lib_core (~> 3.10.1, >= 3.10.1)
37
+ cucumber (~> 3.1.2, >= 3.1.2)
38
+ httparty (~> 0.13.7, >= 0.13.7)
39
+ report_builder (~> 1.8, >= 1.8)
40
+ selenium-webdriver (~> 3.14, >= 3.14.1)
41
+ json (1.8.6)
42
+ multi_json (1.14.1)
43
+ multi_test (0.1.2)
44
+ multi_xml (0.6.0)
45
+ report_builder (1.8)
46
+ json (>= 1.8.1)
47
+ rubyzip (2.3.0)
48
+ selenium-webdriver (3.142.7)
49
+ childprocess (>= 0.5, < 4.0)
50
+ rubyzip (>= 1.2.2)
51
+ websocket-driver (0.7.2)
52
+ websocket-extensions (>= 0.1.0)
53
+ websocket-extensions (0.1.5)
54
+
55
+ PLATFORMS
56
+ ruby
57
+
58
+ DEPENDENCIES
59
+ itms_automation
60
+ report_builder
61
+
62
+ BUNDLED WITH
63
+ 2.0.2
@@ -0,0 +1,132 @@
1
+ Welcome to itms_automation
2
+ =================
3
+
4
+ itms_automation : Automation Tesing Using Ruby
5
+
6
+ itms_automation is a behavior driven development (BDD) approach to write automation test script to test Web and Android Apps.
7
+ It enables you to write and execute automated acceptance/unit tests.
8
+ It is cross-platform, open source and free.
9
+ Automate your test cases with minimal coding.
10
+
11
+ itms_automation Ruby API's
12
+ ============================
13
+
14
+ If you are writing code for your custom steps you can use the following methods :
15
+
16
+ Note : For some of the API paramtere values are fixed. Such values for paramaters are mentioned below.
17
+
18
+ Navigation API's
19
+ ----------------
20
+
21
+ navigate_to("link")
22
+
23
+ navigate(direction) # direction => "back" / "forward"
24
+
25
+ close_driver()
26
+
27
+
28
+ Browser Interaction API's
29
+ -------------------------
30
+
31
+ resize_browser(width, height)
32
+
33
+ scroll_page(to) # to => "top" / "end"
34
+
35
+ scroll_to_element(by, access_value)
36
+
37
+ zoom_in_out(in_out) # in_out => "add" / "subtract"
38
+
39
+ zoom_in_out_till_element_display(by, in_out, access_value) # in_out => "add" / "subtract"
40
+
41
+
42
+ Input API's
43
+ ------------
44
+
45
+ click(element)
46
+
47
+ double_click(element)
48
+
49
+ click_forcefully(element)
50
+
51
+ enter_text(element, text)
52
+
53
+ clear_text(element)
54
+
55
+ check_checkbox(element)
56
+
57
+ uncheck_checkbox(element)
58
+
59
+ toggle_checkbox(element)
60
+
61
+ select_radio_button(element)
62
+
63
+ get_page_title()
64
+
65
+ get_element_text(element)
66
+
67
+ get_element_attribute(element, attribute)
68
+
69
+ is_element_enabled(element)
70
+
71
+ is_element_displayed(element)
72
+
73
+ hover_over_element(element)
74
+
75
+ by => "locators type" ("id", "name", "class", "xpath", "css")
76
+
77
+ access_value => "locator value"
78
+
79
+
80
+ Javascript Handling API
81
+ -----------------------
82
+
83
+ handle_alert(decision) # decision => "accept" / "dismiss"
84
+
85
+ get_alert_text
86
+
87
+
88
+ Progress API's
89
+ --------------
90
+
91
+ wait(time_in_sec)
92
+
93
+ wait_for_element_to_display(element, duration)
94
+
95
+ wait_for_element_to_enable(element, duration)
96
+
97
+
98
+ by => "locators type" ("id", "name", "class", "xpath", "css")
99
+
100
+ access_value => "locator value"
101
+
102
+ duration => duration in seconds.
103
+
104
+
105
+ Screenshot API
106
+ --------------
107
+ take_screenshots
108
+
109
+
110
+ Configuration API
111
+ -----------------
112
+
113
+ print_congifugartion
114
+
115
+
116
+ Usage: itms_automation <command-name> [parameters] [options]
117
+
118
+ <command-name> can be one of
119
+ help
120
+ gen
121
+ version
122
+
123
+ Commands:
124
+ help : prints more detailed help information.
125
+
126
+ gen : creates a skeleton features dir. This is usually used once when
127
+ setting up selnium-cucumber to ensure that the features folder contains
128
+ the right step definitions and environment to run with cucumber.
129
+
130
+ version : prints the gem version
131
+
132
+ Options: -v, --verbose Turns on verbose logging
@@ -0,0 +1,4 @@
1
+ chrome: BROWSER=chrome
2
+ firefox: BROWSER=firefox
3
+ ie: BROWSER=internet_explorer
4
+ parallel: parallel_cucumber
@@ -1,5 +1,10 @@
1
- Feature: Login feature
1
+ Feature: Addition
2
+ As a math idiot
3
+ In order to not feel silly
4
+ I add two numbers
2
5
 
3
- Scenario: As a valid user I can log into my web app
4
- When I press "Login"
5
- Then I see "Welcome to coolest web app ever"
6
+ Scenario: Adding a and b
7
+ Given I have variable a
8
+ And I have variable b
9
+ When I add a and b
10
+ Then I display the sum
@@ -50,16 +50,16 @@ end
50
50
  # param 1 : String : Element
51
51
  # param 2 : String : Expected element text
52
52
  # param 3 : Boolean : test case [true or flase]
53
- def check_element_text(element, actual_value, test_case)
53
+ def check_element_text(element, expected_value, test_case)
54
54
  element_text = get_element_text(element)
55
55
 
56
56
  if test_case
57
- if element_text != actual_value
58
- raise TestCaseFailed, "Text Not Matched. Actual Value :#{actual_value}"
57
+ if element_text != expected_value
58
+ raise TestCaseFailed, "Text Not Matched. Actual Value :#{expected_value}"
59
59
  end
60
60
  else
61
- if element_text == actual_value
62
- raise TestCaseFailed, "Text Matched. Actual Value :#{actual_value}"
61
+ if element_text == expected_value
62
+ raise TestCaseFailed, "Text Matched. Actual Value :#{expected_value}"
63
63
  end
64
64
  end
65
65
  end
@@ -68,16 +68,16 @@ end
68
68
  # param 1 : String : Element
69
69
  # param 2 : String : Expected element partial text
70
70
  # param 3 : Boolean : test case [true or flase]
71
- def check_element_partial_text(element, actual_value, test_case)
71
+ def check_element_partial_text(element, expected_value, test_case)
72
72
  element_text = get_element_text(element)
73
73
 
74
74
  if test_case
75
- if not element_text.include? "#{actual_value}"
76
- raise TestCaseFailed, "Text Not Matched. Actual Value :#{actual_value}"
75
+ if not element_text.include? "#{expected_value}"
76
+ raise TestCaseFailed, "Text Not Matched. Actual Value :#{expected_value}"
77
77
  end
78
78
  else
79
- if element_text.include? "#{actual_value}"
80
- raise TestCaseFailed, "Text Matched. Actual Value :#{actual_value}"
79
+ if element_text.include? "#{expected_value}"
80
+ raise TestCaseFailed, "Text Matched. Actual Value :#{expected_value}"
81
81
  end
82
82
  end
83
83
  end
@@ -13,7 +13,6 @@ def double_click(element)
13
13
  $driver.action.double_click(found_element).perform
14
14
  end
15
15
 
16
-
17
16
  def long_press( element, duration)
18
17
  found_element = WAIT.until { find_object(element) }
19
18
  parameters = { "element" => "#{found_element}", "duration" => "#{duration}" }
@@ -1,5 +1,5 @@
1
1
  module ITMS
2
2
  module Automation
3
- VERSION = '2.6.1'
3
+ VERSION = '2.6.2'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: itms_automation
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.6.1
4
+ version: 2.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - INFOdation
@@ -147,6 +147,10 @@ files:
147
147
  - example/desktop web/desktop_web_gmail_login/features/step_definitions/custom_steps.rb
148
148
  - example/desktop web/desktop_web_gmail_login/features/support/env.rb
149
149
  - example/desktop web/desktop_web_gmail_login/features/support/hooks.rb
150
+ - features-skeleton/Gemfile
151
+ - features-skeleton/Gemfile.lock
152
+ - features-skeleton/README.md
153
+ - features-skeleton/cucumber.yml
150
154
  - features-skeleton/my_first.feature
151
155
  - features-skeleton/screenshots/test.png
152
156
  - features-skeleton/step_definitions/custom_steps.rb