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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 915b38aca9704d89a76ae3041697543285d02a13
4
- data.tar.gz: a5a334e675c0361de840195925c6fae3bd3dca90
3
+ metadata.gz: 3870981ef08e96ec8303efd7540bb20bc5b45352
4
+ data.tar.gz: 7e86a7e25eabf235cdd0f29a0135cf706b4e73c3
5
5
  SHA512:
6
- metadata.gz: 30993e3f1540a6cb4b877c66477b9e919264e581cf46f4fc1caa344b8588b80d71a90c518c80f62eb6d40cba68afddf17a7c5089e4397e9e293cd0e0fd12ee2a
7
- data.tar.gz: 0dd8aca86c1b240b43cb865e5dba0b7430bda0753ae1c43392f369546e8938f45109b14e7ea2a9359978b3b6fbd479822c46a4e5356924e1cbd2b25713e6d05c
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 emulated mobile device browsers within a locally hosted instance of a Firefox or Chrome desktop browser on OS X
392
- or Windows. The specified mobile browser's user agent, CSS screen dimensions, and default screen orientation will be automatically set in the
393
- local Firefox or Chrome browser instance. You may even specify the emulated device's screen orientation. For locally hosted emulated mobile web
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 will need to install
431
- XCode and Appium, and ensure that the `appium_capybara` gem is installed and required as described in section 2.4 (Setup - Using Appium) above.
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` | Must be set to `appium`
439
+ `WEB_BROWSER` | Must be set to `appium`
438
440
  `APP_PLATFORM_NAME` | Must be set to `iOS`
439
- `APP_BROWSER` | Must be set to `Safari`
440
- `APP_VERSION` | Must be set to `9.3`, `9.2`, or which ever iOS Simulator version are installed in XCode
441
- `APP_DEVICE`| Set to iOS device name supported by the iOS Simulator (`iPhone 6s Plus`, `iPad Pro`, `iPad Air 2`, etc.)
442
- `ORIENTATION` | [Optional] Set to `portrait` or `landscape`
443
- `APP_ALLOW_POPUPS` | [Optional] Allow javascript to open new windows in Safari. Set to `true` or `false`
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` | [Optional] Don't reset app state after each test. Set to `true` or `false`
446
- `APP_INITIAL_URL` | [Optional] Initial URL, default is a local welcome page. e.g. `http://www.apple.com`
447
- `LOCALE` | [Optional] Locale to set for the simulator. e.g. `fr_CA`
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` | Must be set to `browserstack`
466
- `BS_USERNAME` | Must be set to your BrowserStack account user name
467
- `BS_AUTHKEY` | Must be set to your BrowserStack account access key
468
- `BS_OS` | Must be set to `OS X` or `Windows`
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` | Refer to `browser` capability in chart
471
- `BS_VERSION` | [Optional] Refer to `browser_version` capability in chart. If not specified, latest stable version of browser will be used.
472
- `TUNNELING` | Must be `true` if you are testing against internal/local servers
473
- `RESOLUTION` | [Optional] Refer to supported screen `resolution` capability in chart
474
- `BROWSER_SIZE`| [Optional] Specify width, height of browser window
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` | Must be set to your BrowserStack account access key
487
- `BS_BROWSER` | Must be set to `iPhone`, `iPad`, or `android`
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` | Refer to `device` capability in chart
490
- `TUNNELING` | Must be `true` if you are testing against internal/local servers
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` | Must be set to your CrossBrowserTesting account access key
505
- `CB_OS` | Refer to `os_api_name` capability in the sample script of the Wizard
506
- `CB_BROWSER` | Refer to `browser_api_name` capability in the sample script of the Wizard
507
- `RESOLUTION` | [Optional] Refer to supported `screen_resolution` capability in the sample script of the Wizard
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` | Must be set to your CrossBrowserTesting account access key
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` | Refer to `browser_api_name` capability in the sample script of the Wizard
523
- `RESOLUTION` | Refer to supported `screen_resolution` capability in the sample script of the Wizard
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` | Must be set to your Sauce Labs account access key
537
- `SL_OS` | Refer to `platform` capability in the Copy Code section of the Platform Configurator page
538
- `SL_BROWSER` | Must be set to `chrome`, `firefox`, `safari`, `internet explorer`, or `edge`
539
- `SL_VERSION` | Refer to `version` capability in the Copy Code section of the Platform Configurator page
540
- `RESOLUTION` | [Optional] Refer to supported `screenResolution` capability in the Copy Code section of the Platform Configurator page
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` | Must be set to your Sauce Labs account access key
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` | Must be set to `iPhone` or `android`
556
- `SL_VERSION` | Refer to `version` capability in the Copy Code section of the Platform Configurator page
557
- `SL_DEVICE` | Refer to `deviceName` capability in the Copy Code section of the Platform Configurator page
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` | Must be set to your TestingBot account access key
572
- `TB_OS` | Refer to `platform` capability in chart
573
- `TB_BROWSER` | Refer to `browserName` capability in chart
574
- `TB_VERSION` | Refer to `version` capability in chart
575
- `TUNNELING` | Must be `true` if you are testing against internal/local servers
576
- `RESOLUTION` | [Optional] Possible values: `800x600`, `1024x768`, `1280x960`, `1280x1024`, `1600x1200`, `1920x1200`, `2560x1440`
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
 
@@ -27,5 +27,11 @@ module TestCentricity
27
27
  object_not_found_exception(obj, nil)
28
28
  obj.all(@list_item).collect(&:text)
29
29
  end
30
+
31
+ def get_item_count
32
+ obj, _ = find_element
33
+ object_not_found_exception(obj, nil)
34
+ obj.all(@list_item).count
35
+ end
30
36
  end
31
37
  end
@@ -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
- actual = ui_object.get_options
288
- when :items, :list_items
289
- actual = ui_object.get_list_items
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
- actual = ui_object.get_options
293
- when :items, :list_items
294
- actual = ui_object.get_list_items
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 an object
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
@@ -1,3 +1,3 @@
1
1
  module TestCentricityWeb
2
- VERSION = '0.9.9.2'
2
+ VERSION = '0.9.9.3'
3
3
  end
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.2
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-06-28 00:00:00.000000000 Z
11
+ date: 2016-07-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler