testa_appium_driver 0.1.13 → 0.1.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/.gitattributes +23 -0
  3. data/.gitignore +0 -2
  4. data/.rubocop.yml +1 -1
  5. data/Gemfile +1 -1
  6. data/Gemfile.lock +74 -0
  7. data/appium-driver.iml +72 -0
  8. data/lib/testa_appium_driver/android/class_selectors.rb +7 -7
  9. data/lib/testa_appium_driver/android/driver.rb +1 -0
  10. data/lib/testa_appium_driver/android/locator/attributes.rb +29 -25
  11. data/lib/testa_appium_driver/android/locator.rb +1 -1
  12. data/lib/testa_appium_driver/android/selenium_element.rb +6 -2
  13. data/lib/testa_appium_driver/common/constants.rb +2 -1
  14. data/lib/testa_appium_driver/common/locator/scroll_actions.rb +33 -33
  15. data/lib/testa_appium_driver/common/locator.rb +42 -25
  16. data/lib/testa_appium_driver/common/scroll_actions/json_wire_scroll_actions.rb +1 -1
  17. data/lib/testa_appium_driver/common/scroll_actions/w3c_scroll_actions.rb +87 -20
  18. data/lib/testa_appium_driver/common/scroll_actions.rb +26 -19
  19. data/lib/testa_appium_driver/common/selenium_element.rb +2 -2
  20. data/lib/testa_appium_driver/driver.rb +33 -19
  21. data/lib/testa_appium_driver/ios/locator/attributes.rb +24 -20
  22. data/lib/testa_appium_driver/ios/locator.rb +1 -0
  23. data/lib/testa_appium_driver/ios/selenium_element.rb +2 -2
  24. data/lib/testa_appium_driver/ios/type_selectors.rb +2 -2
  25. data/lib/testa_appium_driver/version.rb +1 -1
  26. data/testa_appium_driver.gemspec +1 -1
  27. metadata +7 -14
  28. data/.idea/deployment.xml +0 -22
  29. data/.idea/inspectionProfiles/Project_Default.xml +0 -9
  30. data/.idea/misc.xml +0 -6
  31. data/.idea/modules.xml +0 -8
  32. data/.idea/runConfigurations/Android_Test.xml +0 -42
  33. data/.idea/runConfigurations.xml +0 -10
  34. data/.idea/sshConfigs.xml +0 -13
  35. data/.idea/vcs.xml +0 -6
  36. data/.idea/webServers.xml +0 -21
  37. data/testa_appium_driver.iml +0 -41
@@ -3,6 +3,7 @@ require_relative 'locator/attributes'
3
3
  module TestaAppiumDriver
4
4
  class Locator
5
5
  include TypeSelectors
6
+ include Attributes
6
7
  attr_accessor :class_chain_selector
7
8
 
8
9
  def init(params, selectors, single)
@@ -1,5 +1,5 @@
1
- module Selenium
2
- module WebDriver
1
+ module ::Appium
2
+ module Core
3
3
  class Element
4
4
  include TestaAppiumDriver::TypeSelectors
5
5
  end
@@ -5,10 +5,10 @@ module TestaAppiumDriver
5
5
  # @return [TestaAppiumDriver::Locator]
6
6
  def add_selector(*args, &block)
7
7
  # if class selector is executed from driver, create new locator instance
8
- if self.kind_of?(TestaAppiumDriver::Driver) || self.instance_of?(Selenium::WebDriver::Element)
8
+ if self.kind_of?(TestaAppiumDriver::Driver) || self.instance_of?(::Selenium::WebDriver::Element) || self.instance_of?(::Appium::Core::Element)
9
9
  args.last[:default_find_strategy] = @default_find_strategy
10
10
  args.last[:default_scroll_strategy] = @default_scroll_strategy
11
- if self.instance_of?(Selenium::WebDriver::Element)
11
+ if self.instance_of?(::Selenium::WebDriver::Element) || self.instance_of?(::Appium::Core::Element)
12
12
  driver = self.get_driver
13
13
  else
14
14
  driver = self
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module TestaAppiumDriver
4
- VERSION = "0.1.13"
4
+ VERSION = "0.1.14"
5
5
  end
@@ -12,7 +12,7 @@ Gem::Specification.new do |spec|
12
12
  spec.description = "Testa appium driver is a wrapper around ruby_lib_core. It leverages all driver features and makes them simple and easy to use, significantly reduces the amount of code needed and enables you to define locators that can be reused"
13
13
  spec.homepage = "https://github.com/Karazum/testa_appium_driver"
14
14
  spec.license = "MIT"
15
- spec.required_ruby_version = ">= 2.4.0"
15
+ spec.required_ruby_version = ">= 2.7.6"
16
16
 
17
17
  #spec.metadata["allowed_push_host"] = "Set to 'https://mygemserver.com'"
18
18
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: testa_appium_driver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.13
4
+ version: 0.1.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - karlo.razumovic
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-01-29 00:00:00.000000000 Z
11
+ date: 2022-05-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: appium_lib_core
@@ -75,24 +75,18 @@ executables: []
75
75
  extensions: []
76
76
  extra_rdoc_files: []
77
77
  files:
78
+ - ".gitattributes"
78
79
  - ".gitignore"
79
- - ".idea/deployment.xml"
80
- - ".idea/inspectionProfiles/Project_Default.xml"
81
- - ".idea/misc.xml"
82
- - ".idea/modules.xml"
83
- - ".idea/runConfigurations.xml"
84
- - ".idea/runConfigurations/Android_Test.xml"
85
- - ".idea/sshConfigs.xml"
86
- - ".idea/vcs.xml"
87
- - ".idea/webServers.xml"
88
80
  - ".rspec"
89
81
  - ".rubocop.yml"
90
82
  - CHANGELOG.md
91
83
  - CODE_OF_CONDUCT.md
92
84
  - Gemfile
85
+ - Gemfile.lock
93
86
  - LICENSE.txt
94
87
  - README.md
95
88
  - Rakefile
89
+ - appium-driver.iml
96
90
  - bin/console
97
91
  - bin/setup
98
92
  - lib/testa_appium_driver.rb
@@ -120,7 +114,6 @@ files:
120
114
  - lib/testa_appium_driver/ios/type_selectors.rb
121
115
  - lib/testa_appium_driver/version.rb
122
116
  - testa_appium_driver.gemspec
123
- - testa_appium_driver.iml
124
117
  homepage: https://github.com/Karazum/testa_appium_driver
125
118
  licenses:
126
119
  - MIT
@@ -137,14 +130,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
137
130
  requirements:
138
131
  - - ">="
139
132
  - !ruby/object:Gem::Version
140
- version: 2.4.0
133
+ version: 2.7.6
141
134
  required_rubygems_version: !ruby/object:Gem::Requirement
142
135
  requirements:
143
136
  - - ">="
144
137
  - !ruby/object:Gem::Version
145
138
  version: '0'
146
139
  requirements: []
147
- rubygems_version: 3.1.2
140
+ rubygems_version: 3.1.6
148
141
  signing_key:
149
142
  specification_version: 4
150
143
  summary: Appium made easy
data/.idea/deployment.xml DELETED
@@ -1,22 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="PublishConfigData" autoUpload="On explicit save action" serverName="supertesta.com" preserveTimestamps="false" autoUploadExternalChanges="true">
4
- <serverData>
5
- <paths name="supertesta.com">
6
- <serverdata>
7
- <mappings>
8
- <mapping deploy="/testa_docker/path_data/testa_appium_driver" local="$PROJECT_DIR$" web="/" />
9
- </mappings>
10
- </serverdata>
11
- </paths>
12
- <paths name="testa.fun">
13
- <serverdata>
14
- <mappings>
15
- <mapping local="$PROJECT_DIR$" web="/" />
16
- </mappings>
17
- </serverdata>
18
- </paths>
19
- </serverData>
20
- <option name="myAutoUpload" value="ON_EXPLICIT_SAVE" />
21
- </component>
22
- </project>
@@ -1,9 +0,0 @@
1
- <component name="InspectionProjectProfileManager">
2
- <profile version="1.0">
3
- <option name="myName" value="Project Default" />
4
- <inspection_tool class="Rubocop" enabled="false" level="WARNING" enabled_by_default="false" />
5
- <inspection_tool class="RubyClassMethodNamingConvention" enabled="true" level="WARNING" enabled_by_default="true">
6
- <option name="m_maxLength" value="40" />
7
- </inspection_tool>
8
- </profile>
9
- </component>
data/.idea/misc.xml DELETED
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectRootManager" version="2" project-jdk-name="ruby-2.6.5-p114" project-jdk-type="RUBY_SDK">
4
- <output url="file://$PROJECT_DIR$/out" />
5
- </component>
6
- </project>
data/.idea/modules.xml DELETED
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectModuleManager">
4
- <modules>
5
- <module fileurl="file://$PROJECT_DIR$/testa_appium_driver.iml" filepath="$PROJECT_DIR$/testa_appium_driver.iml" />
6
- </modules>
7
- </component>
8
- </project>
@@ -1,42 +0,0 @@
1
- <component name="ProjectRunConfigurationManager">
2
- <configuration default="false" name="Android Test" type="RSpecRunConfigurationType" factoryName="RSpec">
3
- <module name="testa_appium_driver" />
4
- <predefined_log_file enabled="true" id="RUBY_RSPEC" />
5
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="" />
6
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$PROJECT_DIR$" />
7
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
8
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
9
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
10
- <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
11
- <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
12
- <EXTENSION ID="RubyCoverageRunConfigurationExtension" track_test_folders="true" runner="rcov" ENABLE_FORKED_COVERAGE="true" />
13
- <EXTENSION ID="net.ashald.envfile">
14
- <option name="IS_ENABLED" value="false" />
15
- <option name="IS_SUBST" value="false" />
16
- <option name="IS_PATH_MACRO_SUPPORTED" value="false" />
17
- <option name="IS_IGNORE_MISSING_FILES" value="false" />
18
- <option name="IS_ENABLE_EXPERIMENTAL_INTEGRATIONS" value="false" />
19
- <ENTRIES>
20
- <ENTRY IS_ENABLED="true" PARSER="runconfig" />
21
- </ENTRIES>
22
- </EXTENSION>
23
- <EXTENSION ID="org.jetbrains.plugins.ruby.rails.run.RailsRunConfigurationExtension" SCRATCH_USE_RAILS_RUNNER="false" />
24
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
25
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$PROJECT_DIR$/spec/testa_appium_driver_android_spec.rb" />
26
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATHS" VALUE="$PROJECT_DIR$/spec/testa_appium_driver_android_spec.rb" />
27
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_RUNNER_PATH" VALUE="" />
28
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/*_spec.rb" />
29
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_EXAMPLE_NAME" VALUE="" />
30
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
31
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_ARGS" VALUE="" />
32
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="3.10.1" />
33
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_SPEC_RUNNER" VALUE="false" />
34
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
35
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
36
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
37
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
38
- <method v="2">
39
- <option name="Make" enabled="true" />
40
- </method>
41
- </configuration>
42
- </component>
@@ -1,10 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="RunConfigurationProducerService">
4
- <option name="ignoredProducers">
5
- <set>
6
- <option value="com.android.tools.idea.compose.preview.runconfiguration.ComposePreviewRunConfigurationProducer" />
7
- </set>
8
- </option>
9
- </component>
10
- </project>
data/.idea/sshConfigs.xml DELETED
@@ -1,13 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="SshConfigs">
4
- <configs>
5
- <sshConfig authType="PASSWORD" host="supertesta.com" id="ea45cb27-d516-4292-a1f7-430f02857685" port="22" customName="Supertesta.com" nameFormat="CUSTOM" username="testa">
6
- <option name="customName" value="Supertesta.com" />
7
- </sshConfig>
8
- <sshConfig authType="PASSWORD" host="testa.fun" id="54640192-a130-4edc-ac3c-f3bc32df1130" port="22" customName="testa.fun" nameFormat="CUSTOM" username="root">
9
- <option name="customName" value="testa.fun" />
10
- </sshConfig>
11
- </configs>
12
- </component>
13
- </project>
data/.idea/vcs.xml DELETED
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="VcsDirectoryMappings">
4
- <mapping directory="" vcs="Git" />
5
- </component>
6
- </project>
data/.idea/webServers.xml DELETED
@@ -1,21 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="WebServers">
4
- <option name="servers">
5
- <webServer id="b1f6f214-0ed7-4869-998b-43dc6e5c154a" name="supertesta.com" url="http://something">
6
- <fileTransfer rootFolder="/ruby_apps" accessType="SFTP" host="supertesta.com" port="22" sshConfigId="ea45cb27-d516-4292-a1f7-430f02857685" sshConfig="Supertesta.com">
7
- <advancedOptions>
8
- <advancedOptions dataProtectionLevel="Private" keepAliveTimeout="0" passiveMode="true" shareSSLContext="true" />
9
- </advancedOptions>
10
- </fileTransfer>
11
- </webServer>
12
- <webServer id="e1897dc5-c089-49e3-802d-1c69de9874a7" name="testa.fun" url="http://something">
13
- <fileTransfer rootFolder="/ruby_apps" accessType="SFTP" host="testa.fun" port="22" sshConfigId="54640192-a130-4edc-ac3c-f3bc32df1130" sshConfig="testa.fun">
14
- <advancedOptions>
15
- <advancedOptions dataProtectionLevel="Private" keepAliveTimeout="0" passiveMode="true" shareSSLContext="true" />
16
- </advancedOptions>
17
- </fileTransfer>
18
- </webServer>
19
- </option>
20
- </component>
21
- </project>
@@ -1,41 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <module type="RUBY_MODULE" version="4">
3
- <component name="NewModuleRootManager" inherit-compiler-output="true">
4
- <exclude-output />
5
- <content url="file://$MODULE_DIR$" />
6
- <orderEntry type="jdk" jdkName="RVM: ruby-2.7.0" jdkType="RUBY_SDK" />
7
- <orderEntry type="sourceFolder" forTests="false" />
8
- <orderEntry type="library" scope="PROVIDED" name="appium_lib_core (v4.7.0, RVM: ruby-2.7.0) [gem]" level="application" />
9
- <orderEntry type="library" scope="PROVIDED" name="ast (v2.4.2, RVM: ruby-2.7.0) [gem]" level="application" />
10
- <orderEntry type="library" scope="PROVIDED" name="bundler (v2.3.4, RVM: ruby-2.7.0) [gem]" level="application" />
11
- <orderEntry type="library" scope="PROVIDED" name="childprocess (v3.0.0, RVM: ruby-2.7.0) [gem]" level="application" />
12
- <orderEntry type="library" scope="PROVIDED" name="diff-lcs (v1.5.0, RVM: ruby-2.7.0) [gem]" level="application" />
13
- <orderEntry type="library" scope="PROVIDED" name="eventmachine (v1.2.7, RVM: ruby-2.7.0) [gem]" level="application" />
14
- <orderEntry type="library" scope="PROVIDED" name="faye-websocket (v0.11.1, RVM: ruby-2.7.0) [gem]" level="application" />
15
- <orderEntry type="library" scope="PROVIDED" name="json (v2.6.1, RVM: ruby-2.7.0) [gem]" level="application" />
16
- <orderEntry type="library" scope="PROVIDED" name="parallel (v1.21.0, RVM: ruby-2.7.0) [gem]" level="application" />
17
- <orderEntry type="library" scope="PROVIDED" name="parser (v3.1.0.0, RVM: ruby-2.7.0) [gem]" level="application" />
18
- <orderEntry type="library" scope="PROVIDED" name="rainbow (v3.1.1, RVM: ruby-2.7.0) [gem]" level="application" />
19
- <orderEntry type="library" scope="PROVIDED" name="rake (v13.0.6, RVM: ruby-2.7.0) [gem]" level="application" />
20
- <orderEntry type="library" scope="PROVIDED" name="regexp_parser (v2.2.0, RVM: ruby-2.7.0) [gem]" level="application" />
21
- <orderEntry type="library" scope="PROVIDED" name="rexml (v3.2.5, RVM: ruby-2.7.0) [gem]" level="application" />
22
- <orderEntry type="library" scope="PROVIDED" name="rspec (v3.10.0, RVM: ruby-2.7.0) [gem]" level="application" />
23
- <orderEntry type="library" scope="PROVIDED" name="rspec-core (v3.10.1, RVM: ruby-2.7.0) [gem]" level="application" />
24
- <orderEntry type="library" scope="PROVIDED" name="rspec-expectations (v3.10.2, RVM: ruby-2.7.0) [gem]" level="application" />
25
- <orderEntry type="library" scope="PROVIDED" name="rspec-mocks (v3.10.2, RVM: ruby-2.7.0) [gem]" level="application" />
26
- <orderEntry type="library" scope="PROVIDED" name="rspec-support (v3.10.3, RVM: ruby-2.7.0) [gem]" level="application" />
27
- <orderEntry type="library" scope="PROVIDED" name="rubocop (v1.25.0, RVM: ruby-2.7.0) [gem]" level="application" />
28
- <orderEntry type="library" scope="PROVIDED" name="rubocop-ast (v1.15.1, RVM: ruby-2.7.0) [gem]" level="application" />
29
- <orderEntry type="library" scope="PROVIDED" name="ruby-progressbar (v1.11.0, RVM: ruby-2.7.0) [gem]" level="application" />
30
- <orderEntry type="library" scope="PROVIDED" name="rubyzip (v2.3.2, RVM: ruby-2.7.0) [gem]" level="application" />
31
- <orderEntry type="library" scope="PROVIDED" name="selenium-webdriver (v3.142.7, RVM: ruby-2.7.0) [gem]" level="application" />
32
- <orderEntry type="library" scope="PROVIDED" name="unicode-display_width (v2.1.0, RVM: ruby-2.7.0) [gem]" level="application" />
33
- <orderEntry type="library" scope="PROVIDED" name="websocket-driver (v0.7.5, RVM: ruby-2.7.0) [gem]" level="application" />
34
- <orderEntry type="library" scope="PROVIDED" name="websocket-extensions (v0.1.5, RVM: ruby-2.7.0) [gem]" level="application" />
35
- </component>
36
- <component name="RakeTasksCache">
37
- <option name="myRootTask">
38
- <RakeTaskImpl id="rake" />
39
- </option>
40
- </component>
41
- </module>