appium_lib_core 1.9.0 → 1.9.1

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: e54e7cdd9d8e4b055e6163dc93a84773e7485fa1
4
- data.tar.gz: dd1e4c1c37c7f16dabf8a9efd1bdf98b0382f20a
3
+ metadata.gz: 007e3cc0b05fdd58ad6ccfd0456c468a45dc5a7d
4
+ data.tar.gz: 7c5fea474ec27a085859e1626ada18bf74eb6ed5
5
5
  SHA512:
6
- metadata.gz: aec282e234f4055fac207057889bb7cfbcd2d3eb3852c50a5b7cb17ed0b8ed78764d28639620d6ff4683446bfe3597597394397e141b6ba5747806e5411bd9af
7
- data.tar.gz: 63b10b77c865e4399e617c794f725edd23d559b8f03dfb9377057fef66543efcd83a21073a3951d61410d5f4178747f35f3cec816a58c1df48ffc0e366c2ff72
6
+ metadata.gz: f606fa17c09df894c966fffbf628beea30d9811302a9e8141fcd83d3d45c03a3a7ce2c2698814833577a93032d293c0645e5e6dd8024b1d8b31e22019ae0e18d
7
+ data.tar.gz: 2a5c6755588badbb4c47d61a67ba9492260c04290fa98fcae953e0df26c88a808001d5f1378d0c50d6aea04486a618ec2adf06170063281d9487f8699a1d4c21
data/.gitignore CHANGED
@@ -14,3 +14,5 @@
14
14
 
15
15
  # for IDE
16
16
  .idea
17
+
18
+ .coverage
@@ -8,6 +8,16 @@ All notable changes to this project will be documented in this file.
8
8
 
9
9
  ### Deprecations
10
10
 
11
+ ## [1.9.1] - 2018-08-20
12
+ ### Enhancements
13
+ - Add `:viewtag` for Espresso driver [appium-espresso-driver#189](https://github.com/appium/appium-espresso-driver/pull/189)
14
+ - Add missing `take_viewport_screenshot` for mjsonwp [#127](https://github.com/appium/ruby_lib_core/pull/127)
15
+
16
+ ### Bug fixes
17
+ - [internal] Fix raising error in `set_implicit_wait_by_default` [#130](https://github.com/appium/ruby_lib_core/issues/130)
18
+
19
+ ### Deprecations
20
+
11
21
  ## [1.9.0] - 2018-08-05
12
22
  ### Enhancements
13
23
  - Update documentation about `start_recording_screen`
data/README.md CHANGED
@@ -38,6 +38,15 @@ $ rake test:func:android # Andorid
38
38
  $ rake test:func:ios # iOS
39
39
  ```
40
40
 
41
+ #### Run parallel tests with parallel_tests gem
42
+
43
+ - Create iPhone simulators named `iPhone 6 - 8100` and `iPhone 6 - 8101`
44
+ - Run iOS functional tests with below command
45
+
46
+ ```
47
+ PARALLEL=1 bundle exec parallel_test test/functional/ios -n 2
48
+ ```
49
+
41
50
  ## Run a test case
42
51
  1. Launch the Appium server locally.
43
52
  2. Run the following script.
@@ -36,4 +36,5 @@ Gem::Specification.new do |spec|
36
36
  spec.add_development_dependency 'pry'
37
37
  spec.add_development_dependency 'pry-byebug'
38
38
  spec.add_development_dependency 'parallel_tests'
39
+ spec.add_development_dependency 'simplecov'
39
40
  end
@@ -25,6 +25,10 @@ module Appium
25
25
  def take_element_screenshot(element)
26
26
  execute :take_element_screenshot, id: element.ref
27
27
  end
28
+
29
+ def take_viewport_screenshot
30
+ execute_script('mobile: viewportScreenshot')
31
+ end
28
32
  end # class MJSONWP
29
33
  end # class Bridge
30
34
  end # class Base
@@ -115,7 +115,7 @@ module Appium
115
115
  #
116
116
  # @example
117
117
  #
118
- # @driver.pull_folder '/data/local/tmp' #=> Get the folder at that path
118
+ # @driver.get_settings
119
119
  #
120
120
  def get_settings
121
121
  @bridge.get_settings
@@ -804,7 +804,7 @@ module Appium
804
804
  # You can handle settings for the comparision following below.
805
805
  # @see https://github.com/appium/appium-base-driver/blob/master/lib/basedriver/device-settings.js#L6
806
806
  #
807
- # @param [String] png_img_path A path to a partial image you'd like to find
807
+ # @param [String] img_path A path to a partial image you'd like to find
808
808
  #
809
809
  # @return [::Selenium::WebDriver::Element]
810
810
  #
@@ -814,8 +814,8 @@ module Appium
814
814
  # autoUpdateImageElementPosition: true })
815
815
  # e = @@driver.find_element_by_image './test/functional/data/test_element_image.png'
816
816
  #
817
- def find_element_by_image(png_img_path)
818
- template = Base64.encode64 File.read png_img_path
817
+ def find_element_by_image(img_path)
818
+ template = Base64.encode64 File.read img_path
819
819
  find_element :image, template
820
820
  end
821
821
 
@@ -825,7 +825,7 @@ module Appium
825
825
  # You can handle settings for the comparision following below.
826
826
  # @see https://github.com/appium/appium-base-driver/blob/master/lib/basedriver/device-settings.js#L6
827
827
  #
828
- # @param [String] png_img_path A path to a partial image you'd like to find
828
+ # @param [String] img_path A path to a partial image you'd like to find
829
829
  #
830
830
  # @return [::Selenium::WebDriver::Element]
831
831
  #
@@ -836,8 +836,8 @@ module Appium
836
836
  # e = @@driver.find_elements_by_image ['./test/functional/data/test_element_image.png']
837
837
  # e == [] # if the `e` is empty
838
838
  #
839
- def find_elements_by_image(png_img_path)
840
- template = Base64.encode64 File.read png_img_path
839
+ def find_elements_by_image(img_path)
840
+ template = Base64.encode64 File.read img_path
841
841
  find_elements :image, template
842
842
  end
843
843
  end # class Driver
@@ -5,18 +5,19 @@ module Appium
5
5
  # referenced: ::Selenium::WebDriver::SearchContext
6
6
 
7
7
  FINDERS = ::Selenium::WebDriver::SearchContext::FINDERS.merge(
8
- accessibility_id: 'accessibility id',
9
- image: '-image',
8
+ accessibility_id: 'accessibility id',
9
+ image: '-image',
10
10
  # Android
11
- uiautomator: '-android uiautomator',
11
+ uiautomator: '-android uiautomator', # Unavailable in Espresso
12
+ viewtag: '-android viewtag', # Available in Espresso
12
13
  # iOS
13
- uiautomation: '-ios uiautomation',
14
- predicate: '-ios predicate string',
15
- class_chain: '-ios class chain',
14
+ uiautomation: '-ios uiautomation',
15
+ predicate: '-ios predicate string',
16
+ class_chain: '-ios class chain',
16
17
  # Windows
17
18
  windows_uiautomation: '-windows uiautomation',
18
19
  # Tizen
19
- tizen_uiautomation: '-tizen uiautomation'
20
+ tizen_uiautomation: '-tizen uiautomation'
20
21
  )
21
22
 
22
23
  #
@@ -54,6 +55,9 @@ module Appium
54
55
  # # For Android
55
56
  # ## With uiautomator
56
57
  # find_elements :uiautomator, 'new UiSelector().clickable(true)'
58
+ # ## With viewtag, but only for Espresso
59
+ # ## `setTag`/`getTag` in https://developer.android.com/reference/android/view/View
60
+ # find_elements :viewtag, 'new UiSelector().clickable(true)'
57
61
  #
58
62
  # # For iOS
59
63
  # ## With :predicate
@@ -113,7 +117,7 @@ module Appium
113
117
 
114
118
  def _set_by_from_finders(how)
115
119
  by = FINDERS[how.to_sym]
116
- raise ArgumentError, "cannot find element by #{how.inspect}" unless by
120
+ raise ArgumentError, "cannot find element by #{how.inspect}. Available finders are #{FINDERS.keys}." unless by
117
121
  by
118
122
  end
119
123
 
@@ -228,16 +228,7 @@ module Appium
228
228
  @driver.manage.timeouts.implicit_wait = wait
229
229
  rescue ::Selenium::WebDriver::Error::UnknownError => e
230
230
  unless e.message.include?('The operation requested is not yet implemented')
231
- raise e.message, ::Appium::Core::Error::ServerError
232
- end
233
-
234
- Appium::Logger.debug(e.message)
235
- {}
236
- rescue ::Selenium::WebDriver::Error::WebDriverError => e
237
- # FIXME: Temporary rescue until Appium support W3C's implicit wait
238
- # https://github.com/jlipps/simple-wd-spec#set-timeouts
239
- unless e.message.include?('Parameters were incorrect. We wanted {"required":["type","ms"]} and you sent ["implicit"]')
240
- raise e.message, ::Appium::Core::Error::ServerError
231
+ raise ::Appium::Core::Error::ServerError, e.message
241
232
  end
242
233
 
243
234
  Appium::Logger.debug(e.message)
@@ -1,6 +1,6 @@
1
1
  module Appium
2
2
  module Core
3
- VERSION = '1.9.0'.freeze unless defined? ::Appium::Core::VERSION
4
- DATE = '2018-08-05'.freeze unless defined? ::Appium::Core::DATE
3
+ VERSION = '1.9.1'.freeze unless defined? ::Appium::Core::VERSION
4
+ DATE = '2018-08-20'.freeze unless defined? ::Appium::Core::DATE
5
5
  end
6
6
  end
@@ -1,3 +1,16 @@
1
+ #### v1.9.1 2018-08-20
2
+
3
+ - [7bcc947](https://github.com/appium/ruby_lib_core/commit/7bcc947d93c0617e45e89e94e901bedcbbf21d80) Release 1.9.1
4
+ - [221e837](https://github.com/appium/ruby_lib_core/commit/221e8370b1a55b6c15ceb870df5c789175ab4d12) Fix raising error format and remove unnecessary fixme (#131)
5
+ - [48d3a59](https://github.com/appium/ruby_lib_core/commit/48d3a59b2c35c1c9fd919ed5332b2a1a1ca452cf) add file management tests (#129)
6
+ - [0aa625f](https://github.com/appium/ruby_lib_core/commit/0aa625fad89ffa1d22f87494bf4282082c555a40) fix wrong example
7
+ - [f761985](https://github.com/appium/ruby_lib_core/commit/f76198545c020a0b95ad4faf097df1380c96df9a) tweak screenshot tests (#127)
8
+ - [6abc03b](https://github.com/appium/ruby_lib_core/commit/6abc03b58ec5b6d5d19228aaeab0bc8d9a85dae1) add simplecov (#126)
9
+ - [16681d2](https://github.com/appium/ruby_lib_core/commit/16681d2f82cde25c8491695f710ec28a5d10329f) change to instance style (#125)
10
+ - [29abb31](https://github.com/appium/ruby_lib_core/commit/29abb31225b984ed36f1fedf34b694c970d581ce) remove png prefix
11
+ - [987526d](https://github.com/appium/ruby_lib_core/commit/987526dfece92317e9aa7a5c26cea2f69bfe0bf0) Add view tag (#124)
12
+
13
+
1
14
  #### v1.9.0 2018-08-05
2
15
 
3
16
  - [cc9e378](https://github.com/appium/ruby_lib_core/commit/cc9e378eba22eb448feec764d6227aff1647aaba) Release 1.9.0
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appium_lib_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.0
4
+ version: 1.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kazuaki MATSUO
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-08-05 00:00:00.000000000 Z
11
+ date: 2018-08-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: selenium-webdriver
@@ -198,6 +198,20 @@ dependencies:
198
198
  - - ">="
199
199
  - !ruby/object:Gem::Version
200
200
  version: '0'
201
+ - !ruby/object:Gem::Dependency
202
+ name: simplecov
203
+ requirement: !ruby/object:Gem::Requirement
204
+ requirements:
205
+ - - ">="
206
+ - !ruby/object:Gem::Version
207
+ version: '0'
208
+ type: :development
209
+ prerelease: false
210
+ version_requirements: !ruby/object:Gem::Requirement
211
+ requirements:
212
+ - - ">="
213
+ - !ruby/object:Gem::Version
214
+ version: '0'
201
215
  description: Minimal Ruby library for Appium.
202
216
  email:
203
217
  - fly.49.89.over@gmail.com
@@ -311,7 +325,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
311
325
  version: '0'
312
326
  requirements: []
313
327
  rubyforge_project:
314
- rubygems_version: 2.5.2
328
+ rubygems_version: 2.6.14
315
329
  signing_key:
316
330
  specification_version: 4
317
331
  summary: Minimal Ruby library for Appium.