xautobrowse 0.2.3 → 0.2.4

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: aca9c4b7401d1d58d6c88c03b5072ff7c3a875a9
4
- data.tar.gz: 8ee79349df64265d9685637d3b18bba29e594b45
3
+ metadata.gz: b9dc540e0b04475206bfb66e573051863fa47d3a
4
+ data.tar.gz: 14de8bd5cece431bfe6c5bc7798000bef2a130ef
5
5
  SHA512:
6
- metadata.gz: d4072cf6251c9e6e28c3666310a6062fab5a0c51aef90638fbc07229d1f17a62d08609696f2fe5e5efcf24f66532c1c8449918f08696f05c74b13aaae34d354a
7
- data.tar.gz: ff08d761a6d031dcfff0361a74829acdcb4622fa65dda3d3b16d70cc9b714c29bc26a48cc2faed11082e931d0c56d3d30c84100279d863c529fef20cb406bcb5
6
+ metadata.gz: 2bd24b0b07f7f04eecc4a92152c4c6dcbb91b4eccf54f30f0dea147b5a5f901f90fa2e0f9f631efb22091dba9e3f57d1128bf057dbd3a5d6814809cdc33b717e
7
+ data.tar.gz: f79d47b395c4682ef179a2f31fd9fb1dae0d50782a0c48863f8dd36102cfedf20b96599150198c28d49f9b3015cb45cc0b4eff0fa57ad37fe066e50eda75e7ad
checksums.yaml.gz.sig CHANGED
@@ -1 +1 @@
1
- t_vn���2Z��"=R��~���O(�Ų�C:�=}g�c��S�dD�ʦ�x� ��4�}B�f{��J�ϒ^�̚|�r}�6�� ��}�f�״�5��7A��3��:ú���em�Qyd
1
+ !Y���V���d�����u3�����]0��H S>$�YG�1�$� N���"Wx���2�ajmw����j�=� �n
data/lib/xautobrowse.rb CHANGED
@@ -8,6 +8,7 @@
8
8
 
9
9
  # revision log:
10
10
 
11
+ # 1 Feb 2018: feature: Implemented XAutoBrowse#screenshot
11
12
  # 31 Jan 2018: feature: Implemented XAutoBrowse#click which accepts a key of
12
13
  # an element to be clicked e.g. click :logout
13
14
  # 30 Jan 2018: feature: Now uses the gem universal_dom_remote to
@@ -104,13 +105,12 @@ class XAutoBrowse
104
105
 
105
106
  def initialize(browser= :firefox, debug: false, sps: false, clicks: {})
106
107
 
107
- @browser, @debug, @clicks = browser, debug, clicks
108
+ @browser, @debug, @sps, @clicks = browser, debug, sps, clicks
108
109
 
109
- @window = Window.new browser
110
- sleep 4
111
- Thread.new { open_web_console() { sleep 1 } }
110
+ @window = Window.new(browser); sleep 2
111
+ #Thread.new { web_console() { sleep 1 } }
112
+ sleep 2
112
113
 
113
- @sps = sps
114
114
  connect() if sps
115
115
 
116
116
  end
@@ -132,8 +132,7 @@ class XAutoBrowse
132
132
 
133
133
  clipboard = Clipboard.paste
134
134
  Clipboard.copy javascript(); sleep 1
135
- ctrl_v(); sleep 0.5
136
- carriage_return()
135
+ ctrl_v(); sleep 0.5; carriage_return()
137
136
 
138
137
  close_web_console() if autohide
139
138
  Clipboard.copy clipboard
@@ -142,7 +141,7 @@ class XAutoBrowse
142
141
 
143
142
  def click(name)
144
143
 
145
- open_web_console {|x| x.enter @clicks[name] + '.click();' }
144
+ web_console {|x| x.enter @clicks[name] + '.click();' }
146
145
 
147
146
  end
148
147
 
@@ -150,6 +149,8 @@ class XAutoBrowse
150
149
  ctrl_w()
151
150
  end
152
151
 
152
+ alias exit close
153
+
153
154
  def close_web_console()
154
155
  @window.activate()
155
156
  ctrl_shift_i()
@@ -159,9 +160,8 @@ class XAutoBrowse
159
160
 
160
161
  def connect()
161
162
 
162
- start_broker()
163
- sleep 4
164
- connect_controller()
163
+ start_broker(); sleep 4; connect_controller()
164
+
165
165
  end
166
166
 
167
167
  # Connects to the SPS broker to communicate with the web browser
@@ -173,8 +173,7 @@ class XAutoBrowse
173
173
  end
174
174
 
175
175
  def copy_screen()
176
- select_all(); sleep 2; ctrl_c(); sleep 2
177
- unselect_all()
176
+ select_all(); sleep 2; ctrl_c(); sleep 2; unselect_all()
178
177
  Clipboard.paste
179
178
  end
180
179
 
@@ -183,8 +182,7 @@ class XAutoBrowse
183
182
  def copy_source()
184
183
 
185
184
  view_source(); sleep 3
186
- select_all()
187
- sleep 1
185
+ select_all(); sleep 1
188
186
  ctrl_c() # copy the source code to the clipboard
189
187
  sleep 1
190
188
  ctrl_w() # close the viewsource window
@@ -235,9 +233,7 @@ class XAutoBrowse
235
233
 
236
234
  if block_given? then
237
235
 
238
- @window.activate(); sleep 2
239
- yield(self)
240
- carriage_return()
236
+ @window.activate(); sleep 1; yield(self); carriage_return()
241
237
 
242
238
  end
243
239
 
@@ -245,16 +241,14 @@ class XAutoBrowse
245
241
 
246
242
  def goto(url, attachconsole: true)
247
243
 
248
- @window.activate(); sleep 2
249
- ctrl_l(); sleep 1
250
- enter(url); sleep 7
244
+ sleep 1; ctrl_l(); sleep 2
245
+ enter(url); sleep 5
251
246
  attach_console() if @sps and attachconsole
252
247
 
253
248
  end
254
249
 
255
250
  def carriage_return()
256
- @window.activate(); sleep 1
257
- XDo::Keyboard.return
251
+ @window.activate(); sleep 1; XDo::Keyboard.return
258
252
  end
259
253
 
260
254
  alias cr carriage_return
@@ -273,6 +267,28 @@ class XAutoBrowse
273
267
 
274
268
  end
275
269
 
270
+ alias web_console open_web_console
271
+
272
+ # Takes a screenshot of the web page. Images are stored in ~/Pictures
273
+ #
274
+ def screenshot(filename=Time.now\
275
+ .strftime("Screenshot from %Y-%m-%d %d-%m-%y"))
276
+
277
+ XDo::Keyboard.simulate('{print}');
278
+ sleep 4;
279
+ XDo::Keyboard.simulate("{down}")
280
+ sleep 4;
281
+ XDo::Keyboard.alt_s
282
+ sleep 5;
283
+ XDo::Keyboard.type filename
284
+ sleep 3
285
+ XDo::Keyboard.alt_s
286
+ sleep 1
287
+
288
+ end
289
+
290
+ alias screen_capture screenshot
291
+
276
292
  def send(s)
277
293
  @udr.send s
278
294
  end
@@ -283,11 +299,7 @@ class XAutoBrowse
283
299
 
284
300
  def unselect_all()
285
301
 
286
- if @browser == :firefox then
287
- tab(); shift_tab()
288
- else
289
- ctrl_shift_a()
290
- end
302
+ @browser == :firefox ? (tab(); shift_tab()) : ctrl_shift_a()
291
303
 
292
304
  end
293
305
 
@@ -315,25 +327,26 @@ class XAutoBrowse
315
327
  end
316
328
 
317
329
  def tab(n=1)
318
- @window.activate()
319
- XDo::Keyboard.simulate("{TAB}" * n)
330
+ @window.activate(); XDo::Keyboard.simulate("{TAB}" * n)
320
331
  end
321
332
 
322
333
  def text_field(klass: nil, id: nil, name: nil, value: '')
323
334
 
324
- open_web_console()
335
+ open_web_console() do |console|
325
336
 
326
- cmd = if klass then
327
- "r = document.querySelector('#{klass}')"
328
- elsif id then
329
- "r = document.getElementById(\"#{id}\")"
330
- end
337
+ cmd = if klass then
338
+ "querySelector('#{klass}')"
339
+ elsif id then
340
+ "getElementById(\"#{id}\")"
341
+ end
331
342
 
332
- [cmd, "r.value = \"\"", "r.focus()"].each {|x| enter x}
343
+ ['r = document.' + cmd, "r.value = \"\"", "r.focus()"].each do |x|
344
+ console.enter x
345
+ end
333
346
 
334
- ctrl_shift_i() # toggle tools
335
- sleep 2
336
- type(value); sleep 1
347
+ end
348
+
349
+ sleep 2; type(value); sleep 1
337
350
 
338
351
  end
339
352
 
@@ -350,9 +363,7 @@ class XAutoBrowse
350
363
 
351
364
  @window.activate(); sleep 0.5
352
365
  ctrl_l() # jump to the location bar
353
- sleep 0.6
354
- tab(2); sleep 0.5
355
- ctrl_u() # View source code
366
+ sleep 0.6; tab(2); sleep 0.5; ctrl_u() # View source code
356
367
 
357
368
  end
358
369
 
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xautobrowse
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -30,7 +30,7 @@ cert_chain:
30
30
  UkT65Cjj3pGfXSA+uRiXo7EXRM2Xft7NA1wuE91g2PYjRb8GvdqjxrgF1gp+LHtf
31
31
  Gwk=
32
32
  -----END CERTIFICATE-----
33
- date: 2018-01-31 00:00:00.000000000 Z
33
+ date: 2018-02-01 00:00:00.000000000 Z
34
34
  dependencies:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: xdo
metadata.gz.sig CHANGED
Binary file