adspower-client 1.0.5 → 1.0.7

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
  SHA256:
3
- metadata.gz: fe1ffd582aadfbb03a1587f3043d08637bcab9e9f562f9772398f790f4a49278
4
- data.tar.gz: 7df20a1ca2798b495d4ab9dddd1e6d2a2c2a84afdcff60adfe5eb09b5b5ae17c
3
+ metadata.gz: 7a4cbcbdabbd1f597745c5604f03d3eb052d998f81a5167737a552060d8c65af
4
+ data.tar.gz: 05b42ad5140074a8488d4b9424fd6d723873daf3c901c5317352076aafc050b5
5
5
  SHA512:
6
- metadata.gz: f730364d0a375f0c517958d5e8f1f6fc9599581b415b4298b09d913224b0cf3cbd95307fc1f00263962f5214a8edc9310493629929210c6b5386720d0bfbcbec
7
- data.tar.gz: e2330dc7f033d8b0c4a1405e741c2014ac66b358fd78a201342f80096dc9898e1cd09a57146bc7b239e28bbb6365ef9158d8753cf5b818ba69fca4ff1310c1c4
6
+ metadata.gz: c9c58297ba76e0c27b72d3c79ef185bf02814620869f2deb873820bfba211564e05cb728615623036d26683c0c0b9a6448e78cec85d1cff3fc14bdec6ed51e66
7
+ data.tar.gz: 73537e1167da16936197c508bdb76c055d772bde2ef5b9666d67bf9e2da92de1b6355e2f73897dd190bec009959757fcba40d16348d75f6722da6f6930d4f5b1
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'adspower-client'
3
- s.version = '1.0.5'
4
- s.date = '2024-01-14'
3
+ s.version = '1.0.7'
4
+ s.date = '2024-02-07'
5
5
  s.summary = "Ruby library for operating AdsPower API."
6
6
  s.description = "Ruby library for operating AdsPower API."
7
7
  s.authors = ["Leandro Daniel Sardi"]
@@ -12,13 +12,13 @@ Gem::Specification.new do |s|
12
12
  ]
13
13
  s.homepage = 'https://github.com/leandrosardi/adspower-client'
14
14
  s.license = 'MIT'
15
- s.add_runtime_dependency 'uri', '~> 0.12.2', '>= 0.12.2'
15
+ s.add_runtime_dependency 'uri', '~> 0.11.2', '>= 0.11.2'
16
16
  s.add_runtime_dependency 'net-http', '~> 0.2.0', '>= 0.2.0'
17
17
  s.add_runtime_dependency 'json', '~> 2.6.3', '>= 2.6.3'
18
18
  s.add_runtime_dependency 'blackstack-core', '~> 1.2.15', '>= 1.2.15'
19
19
  s.add_runtime_dependency 'selenium-webdriver', '~> 4.10.0', '>= 4.10.0'
20
20
  s.add_runtime_dependency 'watir', '~> 7.3.0', '>= 7.3.0'
21
21
  #s.add_runtime_dependency 'sequel', '~> 5.75.0', '>= 5.75.0'
22
- s.add_runtime_dependency 'colorize', '~> 1.1.0', '>= 1.1.0'
22
+ s.add_runtime_dependency 'colorize', '~> 0.8.1', '>= 0.8.1'
23
23
  s.add_runtime_dependency 'simple_cloud_logging', '~> 1.2.2', '>= 1.2.2'
24
24
  end
@@ -9,7 +9,10 @@ class AdsPowerClient
9
9
  # reference: https://localapi-doc-en.adspower.com/
10
10
  # reference: https://localapi-doc-en.adspower.com/docs/Rdw7Iu
11
11
  attr_accessor :key, :adspower_listener, :adspower_default_browser_version
12
- # attr_accessor :profiles_created
12
+
13
+ # control over the drivers created, in order to don't create the same driver twice and don't generate memory leaks.
14
+ # reference: https://github.com/leandrosardi/adspower-client/issues/4
15
+ @@drivers = {}
13
16
 
14
17
  def initialize(h={})
15
18
  self.key = h[:key] # mandatory
@@ -128,7 +131,11 @@ class AdsPowerClient
128
131
  #
129
132
  def driver(id, headless=false)
130
133
  ret = self.start(id, headless)
134
+ old = @@drivers[id]
131
135
 
136
+ # si este driver sigue activo, lo devuelvo
137
+ return old if old && self.check(id)
138
+
132
139
  # Attach test execution to the existing browser
133
140
  # reference: https://zhiminzhan.medium.com/my-innovative-solution-to-test-automation-attach-test-execution-to-the-existing-browser-b90cda3b7d4a
134
141
  url = ret['data']['ws']['selenium']
@@ -139,6 +146,9 @@ class AdsPowerClient
139
146
  # reference: https://localapi-doc-en.adspower.com/docs/K4IsTq
140
147
  driver = Selenium::WebDriver.for(:chrome, :options=>opts)
141
148
 
149
+ # save the driver
150
+ @@drivers[id] = driver
151
+
142
152
  # return
143
153
  driver
144
154
  end # def driver
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: adspower-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ version: 1.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Leandro Daniel Sardi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-01-14 00:00:00.000000000 Z
11
+ date: 2024-02-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: uri
@@ -16,20 +16,20 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.12.2
19
+ version: 0.11.2
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 0.12.2
22
+ version: 0.11.2
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - "~>"
28
28
  - !ruby/object:Gem::Version
29
- version: 0.12.2
29
+ version: 0.11.2
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 0.12.2
32
+ version: 0.11.2
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: net-http
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -136,20 +136,20 @@ dependencies:
136
136
  requirements:
137
137
  - - "~>"
138
138
  - !ruby/object:Gem::Version
139
- version: 1.1.0
139
+ version: 0.8.1
140
140
  - - ">="
141
141
  - !ruby/object:Gem::Version
142
- version: 1.1.0
142
+ version: 0.8.1
143
143
  type: :runtime
144
144
  prerelease: false
145
145
  version_requirements: !ruby/object:Gem::Requirement
146
146
  requirements:
147
147
  - - "~>"
148
148
  - !ruby/object:Gem::Version
149
- version: 1.1.0
149
+ version: 0.8.1
150
150
  - - ">="
151
151
  - !ruby/object:Gem::Version
152
- version: 1.1.0
152
+ version: 0.8.1
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: simple_cloud_logging
155
155
  requirement: !ruby/object:Gem::Requirement