testcentricity_web 2.0.19 → 2.0.20

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