webdrone 0.7.2 → 0.7.6

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: 59591674d236ff01c89372f075b282135b1d4a6d
4
- data.tar.gz: 31c23bc45847abe34464dce1bcab7533aa993cf1
3
+ metadata.gz: 4430bada120a35c96df53fdff1f8ad3433fb9e3f
4
+ data.tar.gz: 8d977ffec647ef6780cf14ac160a89d380325476
5
5
  SHA512:
6
- metadata.gz: d39044837141b162f8c99b68488ed145d9b95caefe45dde91433db560445dde51ba84889926f75a33177c7720bb3975352b283e3f1d7f3ffa3cfc12052f64252
7
- data.tar.gz: 643f53e0d1b34130d4d8f96f0b7e87855e777736622719d54af2c516ebfb5483e69ee561846eeda1ab00b4f58dfb51503d9f4f452600971ae8c5e27b6e0a47f9
6
+ metadata.gz: 426f0f149aee865b1e39bc1cb1bc98fc0af3d4feb32a8e130792a5b16d77e446fe83468be0bd91ebdfd590f1de608e0268cf247d4d0b2201818e3f9c2e4e113c
7
+ data.tar.gz: df461609398cfadff2da8cd86f8c0690c918ae79c4e428aa6d36b087ca1d8587ab8599aedb0661ba71a9e249d0e52f8e4bec41bb1e215d608b8fa347fc86dd2f
data/.gitignore CHANGED
@@ -9,3 +9,4 @@
9
9
  /tmp/
10
10
  webdrone_output_*
11
11
  screenshot-*.png
12
+ webdrone_output
data/lib/webdrone.rb CHANGED
@@ -19,6 +19,7 @@ require 'rubyXL'
19
19
  require 'irb'
20
20
  require 'fileutils'
21
21
  require 'binding_of_caller'
22
+ require 'pathname'
22
23
 
23
24
  module Webdrone
24
25
  def self.create(*args)
@@ -1,23 +1,44 @@
1
1
  module Webdrone
2
2
  class Browser
3
+ @@firefox_profile = @@chrome_prefs = nil
3
4
  attr_accessor :driver
4
5
 
5
- def initialize(browser: 'chrome', create_outdir: true, outdir: nil, timeout:, maximize: true)
6
+ def self.firefox_profile
7
+ if @@firefox_profile == nil
8
+ @@firefox_profile = Selenium::WebDriver::Firefox::Profile.new
9
+ @@firefox_profile['startup.homepage_welcome_url.additional'] = 'about:blank'
10
+ @@firefox_profile['browser.download.folderList'] = 2
11
+ @@firefox_profile['browser.download.manager.showWhenStarting'] = false
12
+ @@firefox_profile['browser.helperApps.neverAsk.saveToDisk'] = "images/jpeg, application/pdf, application/octet-stream, application/download"
13
+ end
14
+ @@firefox_profile
15
+ end
16
+
17
+ def self.firefox_profile=(firefox_profile)
18
+ @@firefox_profile = firefox_profile
19
+ end
20
+
21
+ def self.chrome_prefs
22
+ if @@chrome_prefs == nil
23
+ @@chrome_prefs = { download: { prompt_for_download: false } }
24
+ end
25
+ @@chrome_prefs
26
+ end
27
+
28
+ def initialize(browser: 'chrome', create_outdir: true, outdir: nil, timeout:, maximize: true, chrome_prefs: nil, firefox_profile: nil)
6
29
  if create_outdir or outdir
7
- outdir ||= "webdrone_output/#{Time.new.strftime('%Y%m%d_%H%M%S')}"
30
+ outdir ||= File.join("webdrone_output", Time.new.strftime('%Y%m%d_%H%M%S'))
8
31
  self.conf.outdir = outdir
9
32
  end
33
+ outdir = File.join(Dir.pwd, outdir) if outdir != nil and not Pathname.new(outdir).absolute?
10
34
  if outdir != nil and browser.to_sym == :chrome
11
- prefs = { download: { prompt_for_download: false, default_directory: outdir } }
12
- @driver = Selenium::WebDriver.for browser.to_sym, prefs: prefs, args: ['--disable-popup-blocking']
35
+ chrome_prefs = Browser.chrome_prefs if chrome_prefs == nil
36
+ chrome_prefs[:download][:default_directory] = outdir
37
+ @driver = Selenium::WebDriver.for browser.to_sym, prefs: chrome_prefs, args: ['--disable-popup-blocking']
13
38
  elsif outdir != nil and browser.to_sym == :firefox
14
- profile = Selenium::WebDriver::Firefox::Profile.new
15
- profile['startup.homepage_welcome_url.additional'] = 'about:blank'
16
- profile['browser.download.dir'] = outdir
17
- profile['browser.download.folderList'] = 2
18
- profile['browser.download.manager.showWhenStarting'] = false
19
- profile['browser.helperApps.neverAsk.saveToDisk'] = "images/jpeg, application/pdf, application/octet-stream"
20
- @driver = Selenium::WebDriver.for browser.to_sym, profile: profile
39
+ firefox_profile = Browser.firefox_profile if firefox_profile == nil
40
+ firefox_profile['browser.download.dir'] = outdir
41
+ @driver = Selenium::WebDriver.for browser.to_sym, profile: firefox_profile
21
42
  else
22
43
  @driver = Selenium::WebDriver.for browser.to_sym
23
44
  end
@@ -1,3 +1,3 @@
1
1
  module Webdrone
2
- VERSION = "0.7.2"
2
+ VERSION = "0.7.6"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webdrone
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.2
4
+ version: 0.7.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aldrin Martoq
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-12-04 00:00:00.000000000 Z
11
+ date: 2015-12-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler