testcentricity_web 2.0.19 → 2.0.20

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: d8bd8ebc445be947ca83437351971a92a2f3d26b
4
- data.tar.gz: 79cb6e193ab43c95e6c82222aab102b7e92115bd
3
+ metadata.gz: 887763ca2d95c5b88e249c01f30d871f038a4a12
4
+ data.tar.gz: 8114ca1034dcd7cfb8c4ccb7e4c4611ba67cbbd2
5
5
  SHA512:
6
- metadata.gz: 7867d9e20555f952ac6ae4cf33e9019ddb586e8e1574e9ae1e3428934aecb82e0db50a1da71f10265f0637e0dc846ea9bd10c3df542ca20adb7ecd2bc65d6a46
7
- data.tar.gz: 2c1d095a6c11287d057a64dac382e9771b8eb4403d9fb5e2b02f7f49dd6f2a4ef53d6fb444eaf5c78508043ab4d4e511569b3e3f479315edad3d2692862ed344
6
+ metadata.gz: db065227ba65aa2575f25ce037106d4afc261b7d255043b02d39a0e5189c724312e17621850afd52785ac00509c7c70dbafbe6d1fb8705f15ccc562a957571a3
7
+ data.tar.gz: eb304279080c4f738bf039bfe000bbd01b4a983d202710d419270d7656b4fd33487377b15103c9d9518170d7f8bf6d82c816a1e749cf9fdefc11c34b528a51f4
data/README.md CHANGED
@@ -1070,8 +1070,6 @@ service(s) that you intend to connect with.
1070
1070
 
1071
1071
  # BrowserStack iOS mobile browser profiles
1072
1072
  bs_iphone: --profile bs_mobile BS_PLATFORM=MAC BS_BROWSER=iPhone
1073
- bs_iphone7_plus: --profile bs_mobile BS_REAL_MOBILE="true" BS_DEVICE="iPhone 7 Plus"
1074
- bs_iphone7: --profile bs_mobile BS_REAL_MOBILE="true" BS_DEVICE="iPhone 7"
1075
1073
  bs_iphone6s_plus: --profile bs_iphone BS_DEVICE="iPhone 6S Plus"
1076
1074
  bs_iphone6s: --profile bs_iphone BS_DEVICE="iPhone 6S"
1077
1075
  bs_iphone6_plus: --profile bs_iphone BS_DEVICE="iPhone 6 Plus"
@@ -1084,22 +1082,31 @@ service(s) that you intend to connect with.
1084
1082
  bs_ipad_air: --profile bs_ipad BS_DEVICE="iPad Air"
1085
1083
  bs_ipad_mini: --profile bs_ipad BS_DEVICE="iPad Mini 4"
1086
1084
 
1085
+ # BrowserStack iOS real device mobile browser profiles
1086
+ bs_iphone_device: --profile bs_mobile BS_BROWSER=iPhone BS_REAL_MOBILE="true"
1087
+ bs_iphone7_plus: --profile bs_iphone_device BS_DEVICE="iPhone 7 Plus"
1088
+ bs_iphone7: --profile bs_iphone_device BS_DEVICE="iPhone 7"
1089
+
1087
1090
  # BrowserStack Android mobile browser profiles
1088
1091
  bs_android: --profile bs_mobile BS_PLATFORM=ANDROID BS_BROWSER=android
1089
- bs_google_pixel: --profile bs_mobile BS_REAL_MOBILE="true" BS_DEVICE="Google Pixel"
1090
- bs_nexus9: --profile bs_mobile BS_REAL_MOBILE="true" BS_DEVICE="Google Nexus 9"
1091
- bs_nexus6: --profile bs_mobile BS_REAL_MOBILE="true" BS_DEVICE="Google Nexus 6"
1092
- bs_galaxy_s7: --profile bs_mobile BS_REAL_MOBILE="true" BS_DEVICE="Samsung Galaxy S7"
1093
- bs_galaxy_s6: --profile bs_mobile BS_REAL_MOBILE="true" BS_DEVICE="Samsung Galaxy S6"
1094
- bs_galaxy_note4: --profile bs_mobile BS_REAL_MOBILE="true" BS_DEVICE="Samsung Galaxy Note 4"
1095
1092
  bs_galaxy_s5: --profile bs_android BS_DEVICE="Samsung Galaxy S5"
1096
1093
  bs_kindle_fire_hd89: --profile bs_android BS_DEVICE="Amazon Kindle Fire HD 8.9"
1097
1094
  bs_kindle_fire_hdx7: --profile bs_android BS_DEVICE="Amazon Kindle Fire HDX 7"
1098
1095
  bs_kindle_fire2: --profile bs_android BS_DEVICE="Amazon Kindle Fire 2"
1096
+ bs_nexus7: --profile bs_android BS_DEVICE="Google Nexus 7"
1099
1097
  bs_nexus5: --profile bs_android BS_DEVICE="Google Nexus 5"
1100
1098
  bs_moto_razr: --profile bs_android BS_DEVICE="Motorola Razr"
1101
1099
  bs_sony_xperia: --profile bs_android BS_DEVICE="Sony Xperia Tipo"
1102
1100
 
1101
+ # BrowserStack Android real device mobile browser profiles
1102
+ bs_android_device: --profile bs_mobile BS_BROWSER=android BS_REAL_MOBILE="true"
1103
+ bs_google_pixel: --profile bs_android_device BS_DEVICE="Google Pixel"
1104
+ bs_nexus9: --profile bs_android_device BS_DEVICE="Google Nexus 9"
1105
+ bs_nexus6: --profile bs_android_device BS_DEVICE="Google Nexus 6"
1106
+ bs_galaxy_s7: --profile bs_android_device BS_DEVICE="Samsung Galaxy S7"
1107
+ bs_galaxy_s6: --profile bs_android_device BS_DEVICE="Samsung Galaxy S6"
1108
+ bs_galaxy_note4: --profile bs_android_device BS_DEVICE="Samsung Galaxy Note 4"
1109
+
1103
1110
 
1104
1111
  #==============
1105
1112
  # profiles for remotely hosted web browsers on the CrossBrowserTesting service
@@ -32,6 +32,7 @@ require 'testcentricity_web/elements/cell_element'
32
32
  require 'testcentricity_web/elements/cell_button'
33
33
  require 'testcentricity_web/elements/cell_checkbox'
34
34
  require 'testcentricity_web/elements/cell_radio'
35
+ require 'testcentricity_web/elements/cell_image'
35
36
  require 'testcentricity_web/elements/list_element'
36
37
  require 'testcentricity_web/elements/list_button'
37
38
  require 'testcentricity_web/elements/list_checkbox'
@@ -31,14 +31,20 @@ module TestCentricity
31
31
  obj.click
32
32
  end
33
33
 
34
+ def get_native_attribute(row, attrib)
35
+ obj, = find_cell_element(row)
36
+ cell_object_not_found_exception(obj, @type, row)
37
+ obj.get_native_attribute(attrib)
38
+ end
39
+
34
40
  def get_value(row, visible = true)
35
41
  obj, = find_cell_element(row, visible)
36
42
  cell_object_not_found_exception(obj, @type, row)
37
43
  case obj.tag_name.downcase
38
- when 'input', 'select', 'textarea'
39
- obj.value
40
- else
41
- obj.text
44
+ when 'input', 'select', 'textarea'
45
+ obj.value
46
+ else
47
+ obj.text
42
48
  end
43
49
  end
44
50
 
@@ -0,0 +1,8 @@
1
+ module TestCentricity
2
+ class CellImage < CellElement
3
+ def initialize(name, parent, locator, context, table, column, proxy = nil)
4
+ super
5
+ @type = :cell_image
6
+ end
7
+ end
8
+ end
@@ -318,6 +318,20 @@ module TestCentricity
318
318
  class_eval(%(def #{element_name};@#{element_name} ||= TestCentricity::CellRadio.new("#{element_name}", self, "#{locator}", :page, #{table}, #{column}, #{proxy});end))
319
319
  end
320
320
 
321
+ # Declare and instantiate a cell image in a table column on this page object.
322
+ #
323
+ # @param element_name [Symbol] name of cell image object (as a symbol)
324
+ # @param locator [String] XPath expression that uniquely identifies cell image within row and column of parent table object
325
+ # @param table [Symbol] Name (as a symbol) of parent table object
326
+ # @param column [Integer] 1-based index of table column that contains the cell image object
327
+ # @example
328
+ # cell_image :ready_icon, "img[@class='ready']", :data_table, 3
329
+ # cell_image :send_icon, "img[@class='send']", :data_table, 3
330
+ #
331
+ def self.cell_image(element_name, locator, table, column)
332
+ class_eval(%(def #{element_name};@#{element_name} ||= TestCentricity::CellImage.new("#{element_name}", self, "#{locator}", :page, #{table}, #{column});end))
333
+ end
334
+
321
335
  # Declare and instantiate a list button in a row of a list object on this page object.
322
336
  #
323
337
  # @param element_name [Symbol] name of list button object (as a symbol)
@@ -389,6 +389,20 @@ module TestCentricity
389
389
  class_eval(%(def #{element_name};@#{element_name} ||= TestCentricity::CellRadio.new("#{element_name}", self, "#{locator}", :section, #{table}, #{column}, #{proxy});end))
390
390
  end
391
391
 
392
+ # Declare and instantiate a cell image in a table column on this page object.
393
+ #
394
+ # @param element_name [Symbol] name of cell image object (as a symbol)
395
+ # @param locator [String] XPath expression that uniquely identifies cell image within row and column of parent table object
396
+ # @param table [Symbol] Name (as a symbol) of parent table object
397
+ # @param column [Integer] 1-based index of table column that contains the cell image object
398
+ # @example
399
+ # cell_image :ready_icon, "img[@class='ready']", :data_table, 3
400
+ # cell_image :send_icon, "img[@class='send']", :data_table, 3
401
+ #
402
+ def self.cell_image(element_name, locator, table, column)
403
+ class_eval(%(def #{element_name};@#{element_name} ||= TestCentricity::CellImage.new("#{element_name}", self, "#{locator}", :section, #{table}, #{column});end))
404
+ end
405
+
392
406
  # Declare and instantiate a list button in a row of a list object on this section object.
393
407
  #
394
408
  # @param element_name [Symbol] name of list button object (as a symbol)
@@ -16,6 +16,10 @@ class String
16
16
  raise ArgumentError.new("invalid value for Boolean: \"#{self}\"")
17
17
  end
18
18
 
19
+ def string_between(marker1, marker2)
20
+ self[/#{Regexp.escape(marker1)}(.*?)#{Regexp.escape(marker2)}/m, 1]
21
+ end
22
+
19
23
  def format_date_time(date_time_format)
20
24
  return if self.blank?
21
25
  new_date = DateTime.parse(self)
@@ -1,3 +1,3 @@
1
1
  module TestCentricityWeb
2
- VERSION = '2.0.19'
2
+ VERSION = '2.0.20'
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: 2.0.19
4
+ version: 2.0.20
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: 2017-07-11 00:00:00.000000000 Z
11
+ date: 2017-07-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -211,6 +211,7 @@ files:
211
211
  - lib/testcentricity_web/elements/cell_button.rb
212
212
  - lib/testcentricity_web/elements/cell_checkbox.rb
213
213
  - lib/testcentricity_web/elements/cell_element.rb
214
+ - lib/testcentricity_web/elements/cell_image.rb
214
215
  - lib/testcentricity_web/elements/cell_radio.rb
215
216
  - lib/testcentricity_web/elements/checkbox.rb
216
217
  - lib/testcentricity_web/elements/file_field.rb