browza 0.0.3.4 → 0.0.3.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
  SHA1:
3
- metadata.gz: 1f585272615cc34b9fd6cab5b62ebc7b49d81ea2
4
- data.tar.gz: f245efdf8c0efe55343a2a8257d91d37eb130e98
3
+ metadata.gz: f983a337a1b7146221706bd8d54d33b56cbb856f
4
+ data.tar.gz: 6a615acd4c669276346150fda66c7deddfa5e22f
5
5
  SHA512:
6
- metadata.gz: 9f016cc16f532f489587f270c4e95f87b08ceaf9f85b0b50266cca463560a830d5bef9c5b3c451f1e5c0b76124b90f06dcda79c59df5b829f565f272b7984c23
7
- data.tar.gz: 87e1570f64ccfc9cecef64015bda610bc662ba008a09143cd03430589e96fd464dd9cbbc19023eb92cbbd171d0b14d5c2d5d0d8672cd45b4bae5300b280d258d
6
+ metadata.gz: d1cf85e46807e238bde0da24cbb85e8d5d54f46848012a61f66303840a66ccd5fa4c5e055a8ac379699ee2e34fbb774d7f894dac92b9fed816f4c6d14c4f9cf4
7
+ data.tar.gz: 7b7d0857929dfe378a311aa485cf27b7845d003e48060254fbb9f6984d139990713bcbe279e2494097bc34cd6c010e06f1872a6ba93b9de3fbad339b5d1e5629
@@ -0,0 +1,12 @@
1
+
2
+ require 'selenium-webdriver'
3
+
4
+
5
+ profile = Selenium::WebDriver::Firefox::Profile.new
6
+ proxy = Selenium::WebDriver::Proxy.new(http: "127.0.0.:8080")
7
+ profile.proxy = proxy
8
+ options = Selenium::WebDriver::Firefox::Options.new(profile: profile)
9
+ driver = Selenium::WebDriver.for :firefox, options: options
10
+
11
+
12
+
@@ -231,6 +231,10 @@ class Manager
231
231
  caps['version'] = ENV['SELENIUM_VERSION']
232
232
  ENV['SELENIUM_RUN']='sauce'
233
233
 
234
+ if !ENV['SAUCE_TUNNEL_ID'].nil?
235
+ caps['tunnel-identifier'] = ENV['SAUCE_TUNNEL_ID'].to_s
236
+ end
237
+
234
238
  connectSauce(caps['name'], caps)
235
239
  end
236
240
 
@@ -250,6 +254,9 @@ class Manager
250
254
  _height = 768
251
255
  end
252
256
 
257
+
258
+
259
+
253
260
  @logger.debug __FILE__ + (__LINE__).to_s + " createBrowser() : width x height : #{_width}, #{_height}" if @debug
254
261
 
255
262
  _id = Time.now.to_i.to_s
@@ -325,13 +332,27 @@ class Manager
325
332
  @logger.debug "Selenium::WebDriver.for #{@browserType} (isSymbol: #{@browserType.is_a?(Symbol)})" if @debug
326
333
 
327
334
  begin
328
- if timeout.nil?
335
+ if timeout.nil? && ENV['SELENIUM_PROXY'].nil?
329
336
  @drv = Selenium::WebDriver.for @browserType
330
337
  else
331
- client = Selenium::WebDriver::Remote::Http::Default.new
332
- client.read_timeout = timeout.to_i
333
338
 
334
- @drv = Selenium::WebDriver.for @browserType, http_client: client
339
+ if ENV['SELENIUM_PROXY']
340
+
341
+ if @browserType.to_s.match(/firefox/i)
342
+ @logger.debug "createBrowser() with proxy: #{ENV['SELENIUM_PROXY']}"
343
+
344
+ profile = Selenium::WebDriver::Firefox::Profile.new
345
+ proxy = Selenium::WebDriver::Proxy.new(http: "#{ENV['SELENIUM_PROXY']}")
346
+ profile.proxy = proxy
347
+ options = Selenium::WebDriver::Firefox::Options.new(profile: profile)
348
+ @drv = Selenium::WebDriver.for :firefox, options: options
349
+ end
350
+
351
+ elsif
352
+ client = Selenium::WebDriver::Remote::Http::Default.new
353
+ client.read_timeout = timeout.to_i
354
+ @drv = Selenium::WebDriver.for @browserType, http_client: client
355
+ end
335
356
 
336
357
  puts __FILE__ + (__LINE__).to_s + " Set NET::TIMEOUT to #{timeout.to_s}"
337
358
  end
@@ -1311,6 +1332,28 @@ class Manager
1311
1332
  rc
1312
1333
  end
1313
1334
 
1335
+ def getText(_locator)
1336
+ @logger.debug __FILE__ + (__LINE__).to_s + " getText?(#{_locator})"
1337
+ rc = false
1338
+
1339
+ begin
1340
+ obj = findLocator(_locator)
1341
+
1342
+ @logger.debug __FILE__ + (__LINE__).to_s + " | obj : #{obj}"
1343
+
1344
+ if !obj.nil?
1345
+ @logger.debug __FILE__ + (__LINE__).to_s + " | obj.text: #{obj.text}"
1346
+ rc = obj.text
1347
+ end
1348
+
1349
+ rescue => ex
1350
+ @logger.warn __FILE__ + (__LINE__).to_s + " #{ex.class}"
1351
+ @logger.warn "Backtrace:\n\t#{ex.backtrace.join("\n\t")}"
1352
+ end
1353
+
1354
+ @logger.debug __FILE__ + (__LINE__).to_s + " [return]: isText?(#{_locator}) : #{rc}"
1355
+ rc
1356
+ end
1314
1357
 
1315
1358
  def isText?(_locator, regex=nil)
1316
1359
  @logger.debug __FILE__ + (__LINE__).to_s + " isText?(#{_locator}, #{regex})"
@@ -1362,32 +1405,38 @@ class Manager
1362
1405
  rc
1363
1406
  end
1364
1407
 
1365
- def pressKey(k, n = 1)
1408
+ def pressKey(k, n = 1, _delay = 0.25)
1366
1409
 
1367
1410
  rc = 0
1368
1411
  begin
1369
1412
  n.times {
1370
- if k.match(/^\s*tab/i)
1413
+ if k.match(/^\s*(tab|__tab__)\s*$/i)
1371
1414
  activeElt = @drv.switch_to.active_element
1372
- activeElt.send_keys(:tab)
1415
+ n.times { activeElt.send_keys(:tab); rc+=1; }
1416
+ break;
1373
1417
  elsif k.match(/^\s*clear\s*$/)
1374
1418
  activeElt = @drv.switch_to.active_element
1375
1419
  activeElt.clear
1376
- elsif k.match(/\s*^enter/i)
1420
+ elsif k.match(/^\s*^enter\s*$/i)
1377
1421
  activeElt = @drv.switch_to.active_element
1378
1422
  activeElt.send_keys(:enter)
1379
- elsif k.match(/\s*^(down|__down__|arrow_down)/i)
1423
+ elsif k.match(/^\s*(down|arrow_down|down_arrow|__down__)\s*/)
1424
+ n.times { activeElt = @drv.switch_to.active_element; activeElt.send_keys(:arrow_down); sleep _delay; rc+=1 }
1425
+ return rc;
1426
+ elsif k.match(/^\s*(space|__space__)\s*$/i)
1380
1427
  activeElt = @drv.switch_to.active_element
1381
- activeElt.send_keys(:arrow_down)
1382
- elsif k.match(/\s*^up/i)
1383
- activeElt = @drv.switch_to.active_element
1384
- activeElt.send_keys(:arrow_up)
1385
- elsif k.match(/\s*escape/i)
1428
+ n.times { activeElt.send_keys(:space); sleep _delay; rc+=1 }
1429
+ break
1430
+ elsif k.match(/^\s*(up|arrow_up|up_arrow|__up__)\s*$/)
1431
+ n.times { activeElt = @drv.switch_to.active_element; activeElt.send_keys(:arrow_up); sleep _delay; rc+=1 }
1432
+ return rc;
1433
+ elsif k.match(/^\s*escape\s*$/i)
1386
1434
  activeElt = @drv.switch_to.active_element
1387
1435
  activeElt.send_keys(:escape)
1388
- elsif k.match(/\s*page_down/i)
1389
- @drv.action.send_keys(:page_down).perform
1390
- elsif k.match(/\s*__SHIFT_TAB__\s*$/i)
1436
+ elsif k.match(/^\s*page_down\s*/i)
1437
+ n.times { activeElt = @drv.switch_to.active_element; @drv.action.send_keys(:page_down).perform; sleep _delay; rc+=1 }
1438
+ break
1439
+ elsif k.match(/^\s*__SHIFT_TAB__\s*$/i)
1391
1440
  @drv.action.key_down(:shift).send_keys(:tab).perform
1392
1441
  @drv.action.key_up(:shift).perform
1393
1442
  else
@@ -1,3 +1,3 @@
1
1
  module Browza
2
- VERSION = "0.0.3.4"
2
+ VERSION = "0.0.3.5"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: browza
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3.4
4
+ version: 0.0.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - H20Dragon
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-10-16 00:00:00.000000000 Z
11
+ date: 2017-10-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -121,6 +121,7 @@ files:
121
121
  - browza.gemspec
122
122
  - examples/ex1.rb
123
123
  - examples/ex2.rb
124
+ - examples/fox.proxy.rb
124
125
  - examples/parms.rb
125
126
  - lib/browza.rb
126
127
  - lib/browza/base/browza_mgr.rb