adspower-client 1.0.3 → 1.0.5

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
  SHA256:
3
- metadata.gz: 2a6276d009445088184bda9fb619b9f64da4a2f50e383eeef8e7166503d5c38f
4
- data.tar.gz: 27127685f33523332a282fc6e50d43f6e7064bde27666c7b18bde1f407a97fbf
3
+ metadata.gz: fe1ffd582aadfbb03a1587f3043d08637bcab9e9f562f9772398f790f4a49278
4
+ data.tar.gz: 7df20a1ca2798b495d4ab9dddd1e6d2a2c2a84afdcff60adfe5eb09b5b5ae17c
5
5
  SHA512:
6
- metadata.gz: 50a25edcd5c54207f6f4e86004671596f47e8b360bd3961b8e2c67759dfd134f30939ca330a45c54a80777ee5e805d6cb1ebfa90a4a2bde0cea46ab7b917efb7
7
- data.tar.gz: 106df641acb2442c19da7ba0bb24e7603d5d9521621b6a0968a172c9746ab9ac98f99af1cbe04df307b62c8be9564c1090aeae9d88e7fbe7934cf7a70fdc0616
6
+ metadata.gz: f730364d0a375f0c517958d5e8f1f6fc9599581b415b4298b09d913224b0cf3cbd95307fc1f00263962f5214a8edc9310493629929210c6b5386720d0bfbcbec
7
+ data.tar.gz: e2330dc7f033d8b0c4a1405e741c2014ac66b358fd78a201342f80096dc9898e1cd09a57146bc7b239e28bbb6365ef9158d8753cf5b818ba69fca4ff1310c1c4
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'adspower-client'
3
- s.version = '1.0.3'
4
- s.date = '2023-12-07'
3
+ s.version = '1.0.5'
4
+ s.date = '2024-01-14'
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"]
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
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
- s.add_runtime_dependency 'sequel', '~> 5.75.0', '>= 5.75.0'
21
+ #s.add_runtime_dependency 'sequel', '~> 5.75.0', '>= 5.75.0'
22
22
  s.add_runtime_dependency 'colorize', '~> 1.1.0', '>= 1.1.0'
23
23
  s.add_runtime_dependency 'simple_cloud_logging', '~> 1.2.2', '>= 1.2.2'
24
24
  end
@@ -18,17 +18,21 @@ class AdsPowerClient
18
18
  # self.profiles_created = []
19
19
  end
20
20
 
21
- # send an GET request to "#{url}/status"
22
- # and return the response body.
21
+ # send an GET request to "#{url}/status".
22
+ # Return true if it responded successfully.
23
23
  #
24
24
  # reference: https://localapi-doc-en.adspower.com/docs/6DSiws
25
25
  #
26
- def status
27
- url = "#{self.adspower_listener}/status"
28
- uri = URI.parse(url)
29
- res = Net::HTTP.get(uri)
30
- # show respose body
31
- return JSON.parse(res)['msg']
26
+ def online?
27
+ begin
28
+ url = "#{self.adspower_listener}/status"
29
+ uri = URI.parse(url)
30
+ res = Net::HTTP.get(uri)
31
+ # show respose body
32
+ return JSON.parse(res)['msg'] == 'success'
33
+ rescue => e
34
+ return false
35
+ end
32
36
  end
33
37
 
34
38
  # send a post request to "#{url}/api/v1/user/create"
@@ -80,8 +84,8 @@ class AdsPowerClient
80
84
  #
81
85
  # reference: https://localapi-doc-en.adspower.com/docs/FFMFMf
82
86
  #
83
- def start(id)
84
- uri = URI.parse("#{self.adspower_listener}/api/v1/browser/start?user_id=#{id}&headless=1")
87
+ def start(id, headless=false)
88
+ uri = URI.parse("#{self.adspower_listener}/api/v1/browser/start?user_id=#{id}&headless=#{headless ? '1' : '0'}'}")
85
89
  res = Net::HTTP.get(uri)
86
90
  # show respose bo
87
91
  ret = JSON.parse(res)
@@ -105,9 +109,25 @@ class AdsPowerClient
105
109
  ret
106
110
  end
107
111
 
112
+ # send an GET request to "#{url}/status"
113
+ # and return if I get the json response['data']['status'] == 'Active'.
114
+ # Otherwise, return false.
115
+ #
116
+ # reference: https://localapi-doc-en.adspower.com/docs/YjFggL
117
+ #
118
+ def check(id)
119
+ url = "#{self.adspower_listener}/api/v1/browser/active?user_id=#{id}"
120
+ uri = URI.parse(url)
121
+ res = Net::HTTP.get(uri)
122
+ # show respose body
123
+ return false if JSON.parse(res)['msg'] != 'success'
124
+ # return
125
+ JSON.parse(res)['data']['status'] == 'Active'
126
+ end
127
+
108
128
  #
109
- def driver(id)
110
- ret = self.start(id)
129
+ def driver(id, headless=false)
130
+ ret = self.start(id, headless)
111
131
 
112
132
  # Attach test execution to the existing browser
113
133
  # reference: https://zhiminzhan.medium.com/my-innovative-solution-to-test-automation-attach-test-execution-to-the-existing-browser-b90cda3b7d4a
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.3
4
+ version: 1.0.5
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: 2023-12-07 00:00:00.000000000 Z
11
+ date: 2024-01-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: uri
@@ -130,26 +130,6 @@ dependencies:
130
130
  - - ">="
131
131
  - !ruby/object:Gem::Version
132
132
  version: 7.3.0
133
- - !ruby/object:Gem::Dependency
134
- name: sequel
135
- requirement: !ruby/object:Gem::Requirement
136
- requirements:
137
- - - "~>"
138
- - !ruby/object:Gem::Version
139
- version: 5.75.0
140
- - - ">="
141
- - !ruby/object:Gem::Version
142
- version: 5.75.0
143
- type: :runtime
144
- prerelease: false
145
- version_requirements: !ruby/object:Gem::Requirement
146
- requirements:
147
- - - "~>"
148
- - !ruby/object:Gem::Version
149
- version: 5.75.0
150
- - - ">="
151
- - !ruby/object:Gem::Version
152
- version: 5.75.0
153
133
  - !ruby/object:Gem::Dependency
154
134
  name: colorize
155
135
  requirement: !ruby/object:Gem::Requirement