testcentricity_web 0.6.3 → 0.6.4

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
  SHA1:
3
- metadata.gz: 903af60024a5a7eb9ce7a906b3e0e7ea7eebcdb0
4
- data.tar.gz: affa48e4dcd2fa08beec0684f93abc3a73465981
3
+ metadata.gz: 7d1c25417263a8e482daf9053e4f28d1fc3283e7
4
+ data.tar.gz: 583b938a2eaca21ead5afa17aa62a07f4303137b
5
5
  SHA512:
6
- metadata.gz: ee1eb1a075e1018a78717d73777610abd6620f21a3c2d48437ceff7920d8ca8dd79cd9b0f2b456b6280977553f0b36c7cc89e6ab42c558dd0e0e2de8c86160e0
7
- data.tar.gz: 43448bbe045cac832869010ec64c715f9ecbaca0880b8b20a20c9964d60fa66536601b21e71bcd1ec24a84da3fc213aa8e02bb35e9d1d87743a9f71495e1f3f9
6
+ metadata.gz: e68237af398f2488d7392c191f0ba51a49292873313afa4c0cda5cb237181fbec10aa33441b619726b30d873c645f4aee1ceb3ef4e1f505e9e974d0d7c5c61b1
7
+ data.tar.gz: bde9567c48c39a96de491e990cf1a917e22ede563efbe45210b598726c987bbc69ea7c8aa95f2c9df8da5ca96d91f5b184041a6801aa93b8091a4c29c9b3e276
data/README.md CHANGED
@@ -1,18 +1,13 @@
1
1
  # TestCentricityWeb
2
2
 
3
3
  The TestCentricity™ core generic framework for desktop and mobile web site testing implements a Page Object and Data Object Model DSL for
4
- use with Cucumber, Capybara, and selenium-webdriver.
4
+ use with Cucumber, Capybara, and Selenium-Webdriver.
5
5
 
6
6
  The TestCentricity™ web gem supports running testing against the following web test targets:
7
- * locally hosted desktop browsers (Firefox, Chrome, Safari, IE, or Edge)
8
- * locally hosted emulated iOS and Android mobile browsers (using Firefox)
9
- * a "headless" browser (using Poltergeist and PhantomJS)
10
- * cloud hosted desktop or mobile web browsers using the BrowserStack, Sauce Labs, CrossBrowserTesting, or TestingBot services.
11
-
12
-
13
- ## Web Test Automation Framework Implementation
14
-
15
- <img src="http://i.imgur.com/K4XGTQi.jpg" width="1024" alt="Web Framework Overview" title="Web Framework Overview">
7
+ - locally hosted desktop browsers (Firefox, Chrome, Safari, IE, or Edge)
8
+ - locally hosted emulated iOS and Android mobile browsers (using Firefox)
9
+ - a "headless" browser (using Poltergeist and PhantomJS)
10
+ - cloud hosted desktop or mobile web browsers using the BrowserStack, Sauce Labs, CrossBrowserTesting, or TestingBot services.
16
11
 
17
12
 
18
13
  ## Installation
@@ -78,6 +73,33 @@ to update the affected feature file, scenarios, or step definitions.
78
73
  Your **Page Object** class definitions should be contained within individual *.rb* files in the ***features/support/pages*** folder of your
79
74
  test automation project. You define new **Page Objects** as shown below:
80
75
 
76
+ class LoginPage < TestCentricity::PageObject
77
+ end
78
+
79
+
80
+ class HomePage < TestCentricity::PageObject
81
+ end
82
+
83
+
84
+ ### Adding Traits to your Page Object
85
+
86
+ Web pages typically have names and URLs associated with them. Web pages also typically have a unique object or attribute that, when present,
87
+ indicates that the page's contents have fully loaded.
88
+
89
+ The ***page_name*** trait is registered with the **PageManager** object, which includes a **find_page** method that takes a page name as a
90
+ parameter and returns an instance of the associated **Page Object**.
91
+
92
+ A ***page_url*** trait should be defined if a page can be directly loaded using a URL. If you set Capybara's *app_host*, or specify a base URL
93
+ when calling the ***WebDriverConnect.initialize_web_driver*** method, then your ***page_url*** trait can be the relative URL slug that will
94
+ be appended to the base URL specified in *app_host*. Specifying a ***page_url*** trait is optional, as not all web pages can be directly loaded
95
+ via a URL.
96
+
97
+ A ***page_locator*** trait is defined if a page has a unique object or attribute that exists once the page's contents have fully loaded. The
98
+ ***page_locator*** trait is a CSS or Xpath expression that uniquely identifies the object or attribute. The **verify_page_exists** method waits
99
+ for the ***page_locator*** trait to exist.
100
+
101
+ You define your page's **Traits** as shown below:
102
+
81
103
  class LoginPage < TestCentricity::PageObject
82
104
  trait(:page_name) { 'Login' }
83
105
  trait(:page_url) { "/sign_in" }
@@ -168,6 +190,17 @@ A **PageSection Object** may contain other **PageSection Objects**.
168
190
  Your **PageSection** class definitions should be contained within individual *.rb* files in the ***features/support/sections*** folder of
169
191
  your test automation project. You define new **PageSection Objects** as shown below:
170
192
 
193
+ class SearchForm < TestCentricity::PageSection
194
+ end
195
+
196
+
197
+ ### Adding Traits to a PageSection Object
198
+
199
+ A **PageSection Object** typically has a root node object that encapsulates a collection of **UI Elements**. The ***section_locator*** trait
200
+ specifies the CSS or Xpath expression that uniquely identifies that root node object.
201
+
202
+ You define your page section's **Traits** as shown below:
203
+
171
204
  class SearchForm < TestCentricity::PageSection
172
205
  trait(:section_locator) { "//form[@id='gnav-search']" }
173
206
  end
@@ -336,7 +369,8 @@ To specify the emulated device's screen orientation, you set the **ORIENTATION**
336
369
  ### Remotely hosted desktop and mobile web browsers
337
370
 
338
371
  You can run your automated tests against remotely hosted desktop and mobile web browsers using the BrowserStack, CrossBrowserTesting,
339
- Sauce Labs, or TestingBot services.
372
+ Sauce Labs, or TestingBot services. If your tests are running against a web site hosted on your local computer (localhost), or on a
373
+ staging server inside your LAN, you must set the **TUNNELING** Environment Variable to true.
340
374
 
341
375
 
342
376
  #### Remote desktop browsers on the BrowserStack service
@@ -757,6 +791,13 @@ landscape orientation running on the BrowserStack service:
757
791
 
758
792
 
759
793
 
794
+ ## Web Test Automation Framework Implementation
795
+
796
+ <img src="http://i.imgur.com/K4XGTQi.jpg" width="1024" alt="Web Framework Overview" title="Web Framework Overview">
797
+
798
+
799
+
800
+
760
801
  ## Copyright and License
761
802
 
762
803
  TestCentricity™ Framework is Copyright (c) 2014-2016, Tony Mrozinski.
@@ -1,3 +1,3 @@
1
1
  module TestCentricityWeb
2
- VERSION = '0.6.3'
2
+ VERSION = '0.6.4'
3
3
  end
@@ -11,9 +11,9 @@ Gem::Specification.new do |spec|
11
11
  spec.authors = ['A.J. Mrozinski']
12
12
  spec.email = ['test_automation@icloud.com']
13
13
  spec.summary = %q{A Page Object and Data Object Model Framework for desktop and mobile web testing}
14
- spec.description = %q{
14
+ spec.description = %q{
15
15
  TestCentricity™ core generic framework for desktop and mobile web site testing implements a Page Object Model DSL,
16
- for use with Cucumber, Capybara, and selenium-webdriver. Supports testing against locally hosted desktop browsers
16
+ for use with Cucumber, Capybara, and Selenium-Webdriver. Supports testing against locally hosted desktop browsers
17
17
  (Firefox, Chrome, Safari, IE, or Edge), locally hosted emulated iOS and Android mobile browsers (using Firefox), a
18
18
  "headless" browser (using Poltergeist and PhantomJS), or on cloud hosted browsers using the BrowserStack, Sauce Labs,
19
19
  CrossBrowserTesting, or TestingBot services.}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: testcentricity_web
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.3
4
+ version: 0.6.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - A.J. Mrozinski
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-28 00:00:00.000000000 Z
11
+ date: 2016-03-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -145,7 +145,7 @@ dependencies:
145
145
  description: |2-
146
146
 
147
147
  TestCentricity™ core generic framework for desktop and mobile web site testing implements a Page Object Model DSL,
148
- for use with Cucumber, Capybara, and selenium-webdriver. Supports testing against locally hosted desktop browsers
148
+ for use with Cucumber, Capybara, and Selenium-Webdriver. Supports testing against locally hosted desktop browsers
149
149
  (Firefox, Chrome, Safari, IE, or Edge), locally hosted emulated iOS and Android mobile browsers (using Firefox), a
150
150
  "headless" browser (using Poltergeist and PhantomJS), or on cloud hosted browsers using the BrowserStack, Sauce Labs,
151
151
  CrossBrowserTesting, or TestingBot services.