testcentricity_web 0.9.9.2 → 0.9.9.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|