testcentricity_web 0.9.9.2 → 0.9.9.3
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 +4 -4
- data/README.md +52 -50
- data/lib/testcentricity_web/elements/list.rb +6 -0
- data/lib/testcentricity_web/elements/select_list.rb +10 -0
- data/lib/testcentricity_web/page_objects_helper.rb +12 -4
- data/lib/testcentricity_web/page_sections_helper.rb +47 -4
- data/lib/testcentricity_web/ui_elements_helper.rb +1 -1
- data/lib/testcentricity_web/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3870981ef08e96ec8303efd7540bb20bc5b45352
|
4
|
+
data.tar.gz: 7e86a7e25eabf235cdd0f29a0135cf706b4e73c3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f4bca14d1a2a48712fe1bcd59686d410f46f51e7554d606b02bdf887845fbad5891d4d90f6149bc7f9242ffad04259bc4d5421a00ef315d507a09fbcf275b144
|
7
|
+
data.tar.gz: b55fa229a110a106fc0b8a6349958c030aaeb0c1f83ba3bd5072a66233aab35ef477d23ccd482a048c8f19fdb0e2891d643a08db52a118d974a0d218e3aaee1e
|
data/README.md
CHANGED
@@ -388,10 +388,10 @@ To maximize a desktop browser window, you set the `BROWSER_SIZE` Environment Var
|
|
388
388
|
|
389
389
|
### Locally hosted emulated mobile web browser
|
390
390
|
|
391
|
-
You can run your tests against
|
392
|
-
or Windows. The specified mobile browser's user agent, CSS screen dimensions, and default screen orientation will be automatically set
|
393
|
-
local Firefox or Chrome browser instance. You may even specify the emulated device's screen orientation. For locally hosted emulated
|
394
|
-
browsers, the `WEB_BROWSER` Environment Variable must be set to one of the values from the table below:
|
391
|
+
You can run your tests against mobile device browsers that are emulated within a locally hosted instance of a Firefox or Chrome desktop browser
|
392
|
+
on OS X or Windows. The specified mobile browser's user agent, CSS screen dimensions, and default screen orientation will be automatically set
|
393
|
+
within the local Firefox or Chrome browser instance. You may even specify the emulated device's screen orientation. For locally hosted emulated
|
394
|
+
mobile web browsers, the `WEB_BROWSER` Environment Variable must be set to one of the values from the table below:
|
395
395
|
|
396
396
|
`WEB_BROWSER` | `HOST_BROWSER` | **CSS Screen Dimensions** | **Default Orientation**
|
397
397
|
--------------|----------------|-------------------------------|-------------------
|
@@ -427,24 +427,26 @@ to `chrome`.
|
|
427
427
|
|
428
428
|
### Mobile Safari browser on iOS Simulators
|
429
429
|
|
430
|
-
You can run your mobile web tests against the mobile Safari browser on simulated iOS devices using Appium and XCode on OS X. You
|
431
|
-
|
430
|
+
You can run your mobile web tests against the mobile Safari browser on simulated iOS devices using Appium and XCode on OS X. You must install XCode
|
431
|
+
and Appium, and ensure that the `appium_capybara` gem is installed and required as described in **section 2.4 (Setup - Using Appium)** above.
|
432
|
+
|
433
|
+
Appium must be running prior to invoking Cucumber to run your features/scenarios.
|
432
434
|
|
433
435
|
Once your test environment is properly configured, the following **Environment Variables** must be set as described in the table below.
|
434
436
|
|
435
437
|
**Environment Variable** | **Description**
|
436
438
|
--------------- | ----------------
|
437
|
-
`WEB_BROWSER`
|
439
|
+
`WEB_BROWSER` | Must be set to `appium`
|
438
440
|
`APP_PLATFORM_NAME` | Must be set to `iOS`
|
439
|
-
`APP_BROWSER`
|
440
|
-
`APP_VERSION`
|
441
|
-
`APP_DEVICE
|
442
|
-
`ORIENTATION`
|
443
|
-
`APP_ALLOW_POPUPS`
|
441
|
+
`APP_BROWSER` | Must be set to `Safari`
|
442
|
+
`APP_VERSION` | Must be set to `9.3`, `9.2`, or which ever iOS version you wish to run within the XCode Simulator
|
443
|
+
`APP_DEVICE` | Set to iOS device name supported by the iOS Simulator (`iPhone 6s Plus`, `iPad Pro`, `iPad Air 2`, etc.)
|
444
|
+
`ORIENTATION` | [Optional] Set to `portrait` or `landscape`
|
445
|
+
`APP_ALLOW_POPUPS` | [Optional] Allow javascript to open new windows in Safari. Set to `true` or `false`
|
444
446
|
`APP_IGNORE_FRAUD_WARNING` | [Optional] Prevent Safari from showing a fraudulent website warning. Set to `true` or `false`
|
445
|
-
`APP_NO_RESET`
|
446
|
-
`APP_INITIAL_URL`
|
447
|
-
`LOCALE`
|
447
|
+
`APP_NO_RESET` | [Optional] Don't reset app state after each test. Set to `true` or `false`
|
448
|
+
`APP_INITIAL_URL` | [Optional] Initial URL, default is a local welcome page. e.g. `http://www.apple.com`
|
449
|
+
`LOCALE` | [Optional] Locale to set for the simulator. e.g. `fr_CA`
|
448
450
|
|
449
451
|
|
450
452
|
|
@@ -462,16 +464,16 @@ the table below. Refer to the [Browserstack-specific capabilities chart page](ht
|
|
462
464
|
|
463
465
|
**Environment Variable** | **Description**
|
464
466
|
--------------- | ----------------
|
465
|
-
`WEB_BROWSER`
|
466
|
-
`BS_USERNAME`
|
467
|
-
`BS_AUTHKEY`
|
468
|
-
`BS_OS`
|
467
|
+
`WEB_BROWSER` | Must be set to `browserstack`
|
468
|
+
`BS_USERNAME` | Must be set to your BrowserStack account user name
|
469
|
+
`BS_AUTHKEY` | Must be set to your BrowserStack account access key
|
470
|
+
`BS_OS` | Must be set to `OS X` or `Windows`
|
469
471
|
`BS_OS_VERSION` | Refer to `os_version` capability in chart
|
470
|
-
`BS_BROWSER`
|
471
|
-
`BS_VERSION`
|
472
|
-
`TUNNELING`
|
473
|
-
`RESOLUTION`
|
474
|
-
`BROWSER_SIZE
|
472
|
+
`BS_BROWSER` | Refer to `browser` capability in chart
|
473
|
+
`BS_VERSION` | [Optional] Refer to `browser_version` capability in chart. If not specified, latest stable version of browser will be used.
|
474
|
+
`TUNNELING` | Must be `true` if you are testing against internal/local servers
|
475
|
+
`RESOLUTION` | [Optional] Refer to supported screen `resolution` capability in chart
|
476
|
+
`BROWSER_SIZE` | [Optional] Specify width, height of browser window
|
475
477
|
|
476
478
|
|
477
479
|
#### Remote mobile browsers on the BrowserStack service
|
@@ -483,11 +485,11 @@ the table below. Refer to the [Browserstack-specific capabilities chart page](ht
|
|
483
485
|
--------------- | ----------------
|
484
486
|
`WEB_BROWSER` | Must be set to `browserstack`
|
485
487
|
`BS_USERNAME` | Must be set to your BrowserStack account user name
|
486
|
-
`BS_AUTHKEY`
|
487
|
-
`BS_BROWSER`
|
488
|
+
`BS_AUTHKEY` | Must be set to your BrowserStack account access key
|
489
|
+
`BS_BROWSER` | Must be set to `iPhone`, `iPad`, or `android`
|
488
490
|
`BS_PLATFORM` | Must be set to `MAC` (for iOS) or `ANDROID`
|
489
|
-
`BS_DEVICE`
|
490
|
-
`TUNNELING`
|
491
|
+
`BS_DEVICE` | Refer to `device` capability in chart
|
492
|
+
`TUNNELING` | Must be `true` if you are testing against internal/local servers
|
491
493
|
`ORIENTATION` | [Optional] Set to `portrait` or `landscape`
|
492
494
|
|
493
495
|
|
@@ -501,10 +503,10 @@ the table below. Use the Configuration Wizard on the [Start a Selenium Test page
|
|
501
503
|
--------------- | ----------------
|
502
504
|
`WEB_BROWSER` | Must be set to `crossbrowser`
|
503
505
|
`CB_USERNAME` | Must be set to your CrossBrowserTesting account user name or email address
|
504
|
-
`CB_AUTHKEY`
|
505
|
-
`CB_OS`
|
506
|
-
`CB_BROWSER`
|
507
|
-
`RESOLUTION`
|
506
|
+
`CB_AUTHKEY` | Must be set to your CrossBrowserTesting account access key
|
507
|
+
`CB_OS` | Refer to `os_api_name` capability in the sample script of the Wizard
|
508
|
+
`CB_BROWSER` | Refer to `browser_api_name` capability in the sample script of the Wizard
|
509
|
+
`RESOLUTION` | [Optional] Refer to supported `screen_resolution` capability in the sample script of the Wizard
|
508
510
|
`BROWSER_SIZE`| [Optional] Specify width, height of browser window
|
509
511
|
|
510
512
|
|
@@ -517,10 +519,10 @@ the table below. Use the Configuration Wizard on the [Start a Selenium Test page
|
|
517
519
|
--------------- | ----------------
|
518
520
|
`WEB_BROWSER` | Must be set to `crossbrowser`
|
519
521
|
`CB_USERNAME` | Must be set to your CrossBrowserTesting account user name or email address
|
520
|
-
`CB_AUTHKEY`
|
522
|
+
`CB_AUTHKEY` | Must be set to your CrossBrowserTesting account access key
|
521
523
|
`CB_PLATFORM` | Refer to `os_api_name` capability in the sample script of the Wizard
|
522
|
-
`CB_BROWSER`
|
523
|
-
`RESOLUTION`
|
524
|
+
`CB_BROWSER` | Refer to `browser_api_name` capability in the sample script of the Wizard
|
525
|
+
`RESOLUTION` | Refer to supported `screen_resolution` capability in the sample script of the Wizard
|
524
526
|
|
525
527
|
|
526
528
|
|
@@ -533,11 +535,11 @@ the table below. Use the Selenium API on the [Platform Configurator page](https:
|
|
533
535
|
--------------- | ----------------
|
534
536
|
`WEB_BROWSER` | Must be set to `saucelabs`
|
535
537
|
`SL_USERNAME` | Must be set to your Sauce Labs account user name or email address
|
536
|
-
`SL_AUTHKEY`
|
537
|
-
`SL_OS`
|
538
|
-
`SL_BROWSER`
|
539
|
-
`SL_VERSION`
|
540
|
-
`RESOLUTION`
|
538
|
+
`SL_AUTHKEY` | Must be set to your Sauce Labs account access key
|
539
|
+
`SL_OS` | Refer to `platform` capability in the Copy Code section of the Platform Configurator page
|
540
|
+
`SL_BROWSER` | Must be set to `chrome`, `firefox`, `safari`, `internet explorer`, or `edge`
|
541
|
+
`SL_VERSION` | Refer to `version` capability in the Copy Code section of the Platform Configurator page
|
542
|
+
`RESOLUTION` | [Optional] Refer to supported `screenResolution` capability in the Copy Code section of the Platform Configurator page
|
541
543
|
`BROWSER_SIZE`| [Optional] Specify width, height of browser window
|
542
544
|
|
543
545
|
|
@@ -550,11 +552,11 @@ the table below. Use the Selenium API on the [Platform Configurator page](https:
|
|
550
552
|
--------------- | ----------------
|
551
553
|
`WEB_BROWSER` | Must be set to `saucelabs`
|
552
554
|
`SL_USERNAME` | Must be set to your Sauce Labs account user name or email address
|
553
|
-
`SL_AUTHKEY`
|
555
|
+
`SL_AUTHKEY` | Must be set to your Sauce Labs account access key
|
554
556
|
`SL_PLATFORM` | Refer to `platform` capability in the Copy Code section of the Platform Configurator page
|
555
|
-
`SL_BROWSER`
|
556
|
-
`SL_VERSION`
|
557
|
-
`SL_DEVICE`
|
557
|
+
`SL_BROWSER` | Must be set to `iPhone` or `android`
|
558
|
+
`SL_VERSION` | Refer to `version` capability in the Copy Code section of the Platform Configurator page
|
559
|
+
`SL_DEVICE` | Refer to `deviceName` capability in the Copy Code section of the Platform Configurator page
|
558
560
|
`SL_DEVICE_TYPE` | If displayed, refer to `deviceType` capability in the Copy Code section of the Platform Configurator page
|
559
561
|
`ORIENTATION` | Refer to `deviceOrientation` capability in the Copy Code section of the Platform Configurator page
|
560
562
|
|
@@ -568,12 +570,12 @@ the table below. Refer to the [TestingBot List of Available Browsers page](https
|
|
568
570
|
--------------- | ----------------
|
569
571
|
`WEB_BROWSER` | Must be set to `testingbot`
|
570
572
|
`TB_USERNAME` | Must be set to your TestingBot account user name
|
571
|
-
`TB_AUTHKEY`
|
572
|
-
`TB_OS`
|
573
|
-
`TB_BROWSER`
|
574
|
-
`TB_VERSION`
|
575
|
-
`TUNNELING`
|
576
|
-
`RESOLUTION`
|
573
|
+
`TB_AUTHKEY` | Must be set to your TestingBot account access key
|
574
|
+
`TB_OS` | Refer to `platform` capability in chart
|
575
|
+
`TB_BROWSER` | Refer to `browserName` capability in chart
|
576
|
+
`TB_VERSION` | Refer to `version` capability in chart
|
577
|
+
`TUNNELING` | Must be `true` if you are testing against internal/local servers
|
578
|
+
`RESOLUTION` | [Optional] Possible values: `800x600`, `1024x768`, `1280x960`, `1280x1024`, `1600x1200`, `1920x1200`, `2560x1440`
|
577
579
|
`BROWSER_SIZE`| [Optional] Specify width, height of browser window
|
578
580
|
|
579
581
|
|
@@ -80,6 +80,16 @@ module TestCentricity
|
|
80
80
|
end
|
81
81
|
end
|
82
82
|
|
83
|
+
def get_option_count
|
84
|
+
obj, _ = find_element
|
85
|
+
object_not_found_exception(obj, nil)
|
86
|
+
if first(:css, 'li.active-result')
|
87
|
+
obj.all('li.active-result').count
|
88
|
+
else
|
89
|
+
obj.all(@list_item).count
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
83
93
|
def verify_options(expected, enqueue = false)
|
84
94
|
actual = get_options
|
85
95
|
enqueue ?
|
@@ -283,10 +283,18 @@ module TestCentricity
|
|
283
283
|
actual = ui_object.get_column_count
|
284
284
|
when :placeholder
|
285
285
|
actual = ui_object.get_placeholder
|
286
|
-
when :options
|
287
|
-
|
288
|
-
|
289
|
-
|
286
|
+
when :options, :items, :list_items
|
287
|
+
if ui_object.get_object_type == :selectlist
|
288
|
+
actual = ui_object.get_options
|
289
|
+
else
|
290
|
+
actual = ui_object.get_list_items
|
291
|
+
end
|
292
|
+
when :optioncount, :itemcount
|
293
|
+
if ui_object.get_object_type == :selectlist
|
294
|
+
actual = ui_object.get_option_count
|
295
|
+
else
|
296
|
+
actual = ui_object.get_item_count
|
297
|
+
end
|
290
298
|
when :column_headers
|
291
299
|
actual = ui_object.get_header_columns
|
292
300
|
when :siebel_options
|
@@ -201,6 +201,28 @@ module TestCentricity
|
|
201
201
|
section != nil
|
202
202
|
end
|
203
203
|
|
204
|
+
# Is Section object enabled?
|
205
|
+
#
|
206
|
+
# @return [Boolean]
|
207
|
+
# @example
|
208
|
+
# bar_chart_section.enabled?
|
209
|
+
#
|
210
|
+
def enabled?
|
211
|
+
not disabled?
|
212
|
+
end
|
213
|
+
|
214
|
+
# Is Section object disabled (not enabled)?
|
215
|
+
#
|
216
|
+
# @return [Boolean]
|
217
|
+
# @example
|
218
|
+
# bar_chart_section.disabled?
|
219
|
+
#
|
220
|
+
def disabled?
|
221
|
+
obj, _ = find_element
|
222
|
+
object_not_found_exception(obj, nil)
|
223
|
+
obj.disabled?
|
224
|
+
end
|
225
|
+
|
204
226
|
# Is Section object visible?
|
205
227
|
#
|
206
228
|
# @return [Boolean]
|
@@ -254,6 +276,19 @@ module TestCentricity
|
|
254
276
|
raise "Section #{get_locator} remained visible after #{timeout} seconds" if exists?
|
255
277
|
end
|
256
278
|
|
279
|
+
# Click at a specific location within a Section object
|
280
|
+
#
|
281
|
+
# @param x [Integer] X offset
|
282
|
+
# @param y [Integer] Y offset
|
283
|
+
# @example
|
284
|
+
# bar_chart_section.click_at(10, 10)
|
285
|
+
#
|
286
|
+
def click_at(x, y)
|
287
|
+
section, _ = find_section
|
288
|
+
raise "Section #{get_locator} not found" unless section
|
289
|
+
section.click_at(x, y)
|
290
|
+
end
|
291
|
+
|
257
292
|
def verify_ui_states(ui_states)
|
258
293
|
ui_states.each do | ui_object, object_states |
|
259
294
|
object_states.each do | property, state |
|
@@ -288,10 +323,18 @@ module TestCentricity
|
|
288
323
|
actual = ui_object.get_column_count
|
289
324
|
when :placeholder
|
290
325
|
actual = ui_object.get_placeholder
|
291
|
-
when :options
|
292
|
-
|
293
|
-
|
294
|
-
|
326
|
+
when :options, :items, :list_items
|
327
|
+
if ui_object.get_object_type == :selectlist
|
328
|
+
actual = ui_object.get_options
|
329
|
+
else
|
330
|
+
actual = ui_object.get_list_items
|
331
|
+
end
|
332
|
+
when :optioncount, :itemcount
|
333
|
+
if ui_object.get_object_type == :selectlist
|
334
|
+
actual = ui_object.get_option_count
|
335
|
+
else
|
336
|
+
actual = ui_object.get_item_count
|
337
|
+
end
|
295
338
|
when :column_headers
|
296
339
|
actual = ui_object.get_header_columns
|
297
340
|
when :siebel_options
|
@@ -81,7 +81,7 @@ module TestCentricity
|
|
81
81
|
page.driver.browser.mouse.double_click(obj.native)
|
82
82
|
end
|
83
83
|
|
84
|
-
# Click at a specific location within an
|
84
|
+
# Click at a specific location within an object
|
85
85
|
#
|
86
86
|
# @param x [Integer] X offset
|
87
87
|
# @param y [Integer] Y offset
|
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.9.9.
|
4
|
+
version: 0.9.9.3
|
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-
|
11
|
+
date: 2016-07-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|