browsermob-cli 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +10 -0
- data/.rspec +2 -0
- data/.travis.yml +4 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +21 -0
- data/README.md +89 -0
- data/Rakefile +23 -0
- data/bin/browsermob-cli +9 -0
- data/browsermob-cli.gemspec +31 -0
- data/lib/browsermob/cli/browsermob.rb +122 -0
- data/lib/browsermob/cli/har_parser.rb +42 -0
- data/lib/browsermob/cli/main.rb +50 -0
- data/lib/browsermob/cli/version.rb +5 -0
- data/lib/browsermob/cli.rb +13 -0
- metadata +213 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 69748c44c82cfae1b9a39e379ce89fbbcb7b24cc
|
4
|
+
data.tar.gz: b278c6b25bfbbd2c392dd0750795b4d68f0188f5
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 68623a0bd0d3aa936494651dd7ac9308d35a179f8341633ecc0eac66d46d0aa2ff0b0129511e6373466e73eef54c28580db1184dcdda796a03aad7def014542a
|
7
|
+
data.tar.gz: 3897be0c8867450c79b749d8c2c93d6d07e2df35cb0fbe5b9b2bf817096b9c82c8780d81752b8e41abc29b814285544258089b6960ba83637471c15d7f2bf8e8
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2016 Shashikant Jagtap
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
13
|
+
all copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
+
THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,89 @@
|
|
1
|
+
# BrowserMob CLI
|
2
|
+
|
3
|
+
BrowserMob CLI os Rubygem to generate HAR files from command line. This will preview HAR files in the Browser as well as parse it in YAML. It works well for FirefoxDriver and ChromeDriver/GhostDriver are WIP
|
4
|
+
|
5
|
+
BrowserMob CLI can do following things:
|
6
|
+
|
7
|
+
* Download Browsermobproxy programatically and save it in /tmp
|
8
|
+
|
9
|
+
* Genarate and Preview Har file from command line by passing URL
|
10
|
+
|
11
|
+
* Genarate and Preview Har file from command line by passing URL and adding user actions
|
12
|
+
|
13
|
+
* List out request urls
|
14
|
+
|
15
|
+
|
16
|
+
## Installation
|
17
|
+
|
18
|
+
Before we start, please make sure you got following packages installed
|
19
|
+
|
20
|
+
* wget
|
21
|
+
* Ruby > 1.9.3
|
22
|
+
* Bundler
|
23
|
+
|
24
|
+
Add this line to your application's Gemfile:
|
25
|
+
|
26
|
+
```ruby
|
27
|
+
gem 'browsermob-cli'
|
28
|
+
```
|
29
|
+
|
30
|
+
And then execute:
|
31
|
+
|
32
|
+
$ bundle
|
33
|
+
|
34
|
+
Or install it yourself as:
|
35
|
+
|
36
|
+
$ gem install browsermob-cli
|
37
|
+
|
38
|
+
## Usage
|
39
|
+
|
40
|
+
#### Download BrowserMob Proxy
|
41
|
+
Assuming that you don't have BrowserMob Proxy downloaded, then first thing we probaly need to download it and save it to your /tmp directory (Assuming /tmp has write access). It should do be done by
|
42
|
+
|
43
|
+
$ browsermob-cli setup
|
44
|
+
|
45
|
+
Now, you should have browsermob-proxy binary downloaded. We need to keep in the /tmp directory itself.
|
46
|
+
|
47
|
+
#### Generate HAR file for any URL
|
48
|
+
We can generate HAR data for any url e.g (AOL website) by running
|
49
|
+
|
50
|
+
$ browsermob-cli show_har http://www.aol.co.uk
|
51
|
+
|
52
|
+
After running this command, you should see following
|
53
|
+
|
54
|
+
* Firefox Opened up with AOL homepage within BrowserMob proxy
|
55
|
+
* All request URLS printed on console
|
56
|
+
* HAR file saved to /tmp/traffic.har
|
57
|
+
* HAR data parsed in YAML format and saved to /tmp/traffic.yml
|
58
|
+
* WEBrick server starts and open up HAR data to preview
|
59
|
+
|
60
|
+
#### Generate HAR file for any URL when user clicks on the page
|
61
|
+
We can generate HAR data for any url e.g (BBC website) and passing CSS Selector
|
62
|
+
where you want to click
|
63
|
+
|
64
|
+
$ browsermob-cli show_har_click http://www.bbc.co.uk/blogs --locator ".rsp-img"
|
65
|
+
|
66
|
+
After running this command, you should see following
|
67
|
+
|
68
|
+
* Firefox Opened up with BBC blog homepage within BrowserMob proxy and clicked on image
|
69
|
+
* All request URLS printed on console
|
70
|
+
* HAR file saved to /tmp/traffic.har
|
71
|
+
* HAR data parsed in YAML format and saved to /tmp/traffic.yml
|
72
|
+
* WEBrick server starts and open up HAR data to preview
|
73
|
+
|
74
|
+
#### View YAML File Or Preview in Browser
|
75
|
+
You can view generated YAML file with HAR data.
|
76
|
+
|
77
|
+
$ browsermob-cli view_har_in_YAML
|
78
|
+
$ browsermob-cli view_har_in_browser
|
79
|
+
#### Usage command
|
80
|
+
|
81
|
+
$ browsermob-cli
|
82
|
+
Commands:
|
83
|
+
browsermob-cli help [COMMAND] # Describe available commands or one specific command
|
84
|
+
browsermob-cli setup # Get Browsermob Proxy from Internet
|
85
|
+
browsermob-cli show_har URL # Get list of all requests
|
86
|
+
browsermob-cli show_har_click URL # Get list of all requests when clicked on Locator
|
87
|
+
browsermob-cli version # Get the current version number
|
88
|
+
browsermob-cli view_har_in_YAML # Display HAR file in YML in your Editor
|
89
|
+
browsermob-cli view_har_in_browser # Open up browser and Preview HAR file. Press Ctl+C Once DONE...
|
data/Rakefile
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
2
|
+
require "rspec/core/rake_task"
|
3
|
+
require 'uri'
|
4
|
+
require 'cgi'
|
5
|
+
require 'capybara'
|
6
|
+
require 'capybara/dsl'
|
7
|
+
require 'rspec'
|
8
|
+
require 'capybara/rspec'
|
9
|
+
require 'rspec/expectations'
|
10
|
+
require 'selenium/webdriver'
|
11
|
+
require 'browsermob/proxy'
|
12
|
+
require 'browsermob/proxy/webdriver_listener'
|
13
|
+
include RSpec::Matchers
|
14
|
+
require 'json'
|
15
|
+
require "har"
|
16
|
+
require "webrick"
|
17
|
+
require "launchy"
|
18
|
+
require 'tempfile'
|
19
|
+
require 'fileutils'
|
20
|
+
|
21
|
+
RSpec::Core::RakeTask.new(:spec)
|
22
|
+
|
23
|
+
task :default => :spec
|
data/bin/browsermob-cli
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
lib_dir = File.expand_path("../lib", File.dirname(__FILE__))
|
3
|
+
$:.unshift lib_dir unless $:.include?(lib_dir)
|
4
|
+
|
5
|
+
require 'browsermob/cli/version'
|
6
|
+
require 'browsermob/cli/browsermob'
|
7
|
+
require 'browsermob/cli/main'
|
8
|
+
|
9
|
+
BrowserMob::CLI::Main.start(ARGV)
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'browsermob/cli/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = 'browsermob-cli'
|
8
|
+
spec.version = BrowserMob::CLI::VERSION
|
9
|
+
spec.authors = ['Shashikant86']
|
10
|
+
spec.email = ['shashikant.jagtap@aol.co.uk']
|
11
|
+
spec.summary = 'BrowserMob Proxy CLI to Generate HAR and Capture Traffic'
|
12
|
+
spec.description = 'This Rubygem is CLI interface to check network traffic using HAR. It will generate HAR file preview in browser and YAML'
|
13
|
+
spec.homepage = "https://github.com/Shashikant86/browsermob-cli"
|
14
|
+
spec.license = 'MIT'
|
15
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
16
|
+
spec.bindir = 'exe'
|
17
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
18
|
+
spec.require_paths = ['lib']
|
19
|
+
|
20
|
+
spec.add_dependency "thor", '~> 0'
|
21
|
+
spec.add_development_dependency 'bundler', '~> 0'
|
22
|
+
spec.add_development_dependency 'rake', '~> 0'
|
23
|
+
spec.add_development_dependency 'rspec', '~> 0'
|
24
|
+
spec.add_development_dependency 'selenium-webdriver', '~> 0'
|
25
|
+
spec.add_development_dependency 'capybara', '~> 0'
|
26
|
+
spec.add_development_dependency 'poltergeist', '~> 0'
|
27
|
+
spec.add_development_dependency 'browsermob-proxy', '~> 0'
|
28
|
+
spec.add_development_dependency 'webrick', '~> 0'
|
29
|
+
spec.add_development_dependency 'launchy', '~> 0'
|
30
|
+
spec.add_runtime_dependency 'addressable', '~> 0'
|
31
|
+
end
|
@@ -0,0 +1,122 @@
|
|
1
|
+
require 'selenium-webdriver'
|
2
|
+
require 'browsermob/proxy'
|
3
|
+
require 'json'
|
4
|
+
require 'browsermob/cli/har_parser'
|
5
|
+
require "har"
|
6
|
+
require "webrick"
|
7
|
+
require "launchy"
|
8
|
+
require 'tempfile'
|
9
|
+
require 'fileutils'
|
10
|
+
|
11
|
+
module BrowserMob
|
12
|
+
module CLI
|
13
|
+
class BrowserMobSetup
|
14
|
+
|
15
|
+
attr_accessor :url
|
16
|
+
|
17
|
+
def initialize
|
18
|
+
@url = url
|
19
|
+
end
|
20
|
+
|
21
|
+
def download_browsermob_proxy
|
22
|
+
FileUtils.rm_rf('/tmp/browsermob-proxy') if Dir.exists?("/tmp/browsermob-proxy")
|
23
|
+
system('cd /tmp && wget https://github.com/downloads/webmetrics/browsermob-proxy/browsermob-proxy-2.0-beta-6-bin.zip')
|
24
|
+
system("cd /tmp && unzip browsermob-proxy-2.0-beta-6-bin.zip")
|
25
|
+
system("mv /tmp/browsermob-proxy-2.0-beta-6 /tmp/browsermob-proxy/")
|
26
|
+
system("chmod +x /tmp/browsermob-proxy/bin/browsermob-proxy")
|
27
|
+
end
|
28
|
+
|
29
|
+
def browsermob_setting
|
30
|
+
binary = "/tmp/browsermob-proxy/bin/browsermob-proxy"
|
31
|
+
server = BrowserMob::Proxy::Server.new(binary, port: 7676)
|
32
|
+
server.start
|
33
|
+
server.create_proxy
|
34
|
+
end
|
35
|
+
|
36
|
+
def firefox_profile_setup
|
37
|
+
firefox_profile_setup = Selenium::WebDriver::Firefox::Profile.new
|
38
|
+
firefox_profile_setup.proxy = @proxy.selenium_proxy
|
39
|
+
firefox_profile_setup
|
40
|
+
end
|
41
|
+
|
42
|
+
def chrome_profile_setup
|
43
|
+
proxy = Selenium::WebDriver::Proxy.new(:http => @proxy.selenium_proxy.http)
|
44
|
+
@chrome_caps = Selenium::WebDriver::Remote::Capabilities.chrome(:proxy => proxy)
|
45
|
+
@driver = Selenium::WebDriver.for(:chrome, :desired_capabilities => caps)
|
46
|
+
end
|
47
|
+
|
48
|
+
def setup
|
49
|
+
File.delete("/tmp/traffic.har") if File.exist?("/tmp/traffic.har")
|
50
|
+
File.delete("/tmp/traffic.yml") if File.exist?("/tmp/traffic.yml")
|
51
|
+
@proxy = browsermob_setting
|
52
|
+
@driver = Selenium::WebDriver.for :firefox, profile: firefox_profile_setup
|
53
|
+
# @driver = Selenium::WebDriver.for(:chrome, :desired_capabilities => @chrome_caps)
|
54
|
+
end
|
55
|
+
|
56
|
+
def teardown
|
57
|
+
@driver.quit
|
58
|
+
@proxy.close
|
59
|
+
end
|
60
|
+
|
61
|
+
def convert_to_yml
|
62
|
+
yml = HarParser.new
|
63
|
+
yml.parse_har_file
|
64
|
+
end
|
65
|
+
|
66
|
+
def user_actions(url, options = {})
|
67
|
+
if options.empty? == true
|
68
|
+
@driver.get url
|
69
|
+
else
|
70
|
+
@driver.find_element(css: options[:source]).click
|
71
|
+
sleep 2
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
def show_har_data_browser
|
76
|
+
exec("bundle exec har /tmp/traffic.har")
|
77
|
+
end
|
78
|
+
|
79
|
+
def capture_traffic(url)
|
80
|
+
setup
|
81
|
+
@proxy.new_har "google"
|
82
|
+
@driver.get url
|
83
|
+
har = @proxy.har
|
84
|
+
all_requests = Proc.new do
|
85
|
+
har.entries.each do |entry|
|
86
|
+
puts "=====Request URL======\n"
|
87
|
+
puts entry.request.url
|
88
|
+
end
|
89
|
+
end
|
90
|
+
all_requests.call
|
91
|
+
@har_file = File.new("/tmp/traffic.har", "w+")
|
92
|
+
@proxy.new_har.save_to @har_file
|
93
|
+
har.save_to @har_file
|
94
|
+
teardown
|
95
|
+
convert_to_yml
|
96
|
+
show_har_data_browser
|
97
|
+
end
|
98
|
+
|
99
|
+
def capture_traffic_with_click(url, selector)
|
100
|
+
setup
|
101
|
+
@proxy.new_har "google"
|
102
|
+
@driver.get url
|
103
|
+
@driver.find_element(css: selector).click
|
104
|
+
sleep 3
|
105
|
+
har = @proxy.har
|
106
|
+
all_requests = Proc.new do
|
107
|
+
har.entries.each do |entry|
|
108
|
+
puts "=====Request URL======\n"
|
109
|
+
puts entry.request.url
|
110
|
+
end
|
111
|
+
end
|
112
|
+
all_requests.call
|
113
|
+
@har_file = File.new("/tmp/traffic.har", "w+")
|
114
|
+
@proxy.new_har.save_to @har_file
|
115
|
+
har.save_to @har_file
|
116
|
+
teardown
|
117
|
+
convert_to_yml
|
118
|
+
show_har_data_browser
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'addressable/uri'
|
3
|
+
require 'json'
|
4
|
+
require 'yaml'
|
5
|
+
require 'tempfile'
|
6
|
+
module BrowserMob
|
7
|
+
module CLI
|
8
|
+
class HarParser
|
9
|
+
def initialize
|
10
|
+
@harfile = File.open("/tmp/traffic.har")
|
11
|
+
end
|
12
|
+
|
13
|
+
def parse_har_file
|
14
|
+
archive = nil
|
15
|
+
begin
|
16
|
+
archive = JSON.parse File.read(@harfile)
|
17
|
+
rescue => err
|
18
|
+
puts "could not pase archive file: #{err}"
|
19
|
+
exit 1
|
20
|
+
end
|
21
|
+
entries = archive['log']['entries']
|
22
|
+
hosts = entries.map do |entry|
|
23
|
+
Addressable::URI.parse(entry['request']['url']).host
|
24
|
+
end
|
25
|
+
output = hosts.uniq.map do |host|
|
26
|
+
urls = entries.map do |entry|
|
27
|
+
next unless entry['request']['url'].match("http://#{host}/")
|
28
|
+
{
|
29
|
+
entry['request']['url'] => entry['timings']
|
30
|
+
}
|
31
|
+
end
|
32
|
+
urls.reject!(&:nil?)
|
33
|
+
{ host => urls }
|
34
|
+
end
|
35
|
+
|
36
|
+
data = File.open("/tmp/traffic.yml", 'w')
|
37
|
+
data << output.to_yaml
|
38
|
+
# puts output.to_a
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
require 'thor'
|
2
|
+
require 'browsermob/cli/version'
|
3
|
+
require 'browsermob/cli/browsermob'
|
4
|
+
|
5
|
+
module BrowserMob
|
6
|
+
module CLI
|
7
|
+
class Main < Thor
|
8
|
+
include Thor::Actions
|
9
|
+
|
10
|
+
map %w(-v -V --version) => :version
|
11
|
+
|
12
|
+
desc 'setup', 'Get Browsermob Proxy from Internet'
|
13
|
+
def setup
|
14
|
+
bm = BrowserMobSetup.new
|
15
|
+
bm.download_browsermob_proxy
|
16
|
+
end
|
17
|
+
|
18
|
+
desc 'version', 'Get the current version number'
|
19
|
+
def version
|
20
|
+
say BrowserMob::CLI::VERSION
|
21
|
+
end
|
22
|
+
|
23
|
+
desc 'show_har_click URL', 'Get list of all requests when clicked on Locator'
|
24
|
+
option :locator
|
25
|
+
def show_har_click(url)
|
26
|
+
bm = BrowserMobSetup.new
|
27
|
+
if options[:locator]
|
28
|
+
bm.capture_traffic_with_click(url, "#{options[:locator]}")
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
desc 'show_har URL', 'Get list of all requests'
|
33
|
+
def show_har(url)
|
34
|
+
bm = BrowserMobSetup.new
|
35
|
+
bm.capture_traffic(url)
|
36
|
+
end
|
37
|
+
|
38
|
+
desc 'view_har_in_browser', 'Open up browser and Preview HAR file. Press Ctl+C Once DONE to stop WEBrick server'
|
39
|
+
def view_har_in_browser
|
40
|
+
bm = BrowserMobSetup.new
|
41
|
+
bm.show_har_data_browser
|
42
|
+
end
|
43
|
+
|
44
|
+
desc 'view_har_in_YAML', 'Display HAR file in YML in your Editor'
|
45
|
+
def view_har_in_YAML
|
46
|
+
system("open /tmp/traffic.yml")
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require "browsermob/cli/version"
|
2
|
+
require 'browsermob/cli/browsermob'
|
3
|
+
require 'browsermob/cli/main'
|
4
|
+
require 'browsermob/cli/har_parser'
|
5
|
+
|
6
|
+
module BrowserMob
|
7
|
+
module CLI
|
8
|
+
def check_file_locations
|
9
|
+
$har = "/tmp/traffic.har"
|
10
|
+
$binary = "/tmp/browsermob-proxy/bin/browsermob-proxy"
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
metadata
ADDED
@@ -0,0 +1,213 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: browsermob-cli
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Shashikant86
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-01-31 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: thor
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rspec
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: selenium-webdriver
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: capybara
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: poltergeist
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: browsermob-proxy
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: webrick
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: launchy
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: addressable
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - "~>"
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :runtime
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - "~>"
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
description: This Rubygem is CLI interface to check network traffic using HAR. It
|
168
|
+
will generate HAR file preview in browser and YAML
|
169
|
+
email:
|
170
|
+
- shashikant.jagtap@aol.co.uk
|
171
|
+
executables: []
|
172
|
+
extensions: []
|
173
|
+
extra_rdoc_files: []
|
174
|
+
files:
|
175
|
+
- ".gitignore"
|
176
|
+
- ".rspec"
|
177
|
+
- ".travis.yml"
|
178
|
+
- Gemfile
|
179
|
+
- LICENSE.txt
|
180
|
+
- README.md
|
181
|
+
- Rakefile
|
182
|
+
- bin/browsermob-cli
|
183
|
+
- browsermob-cli.gemspec
|
184
|
+
- lib/browsermob/cli.rb
|
185
|
+
- lib/browsermob/cli/browsermob.rb
|
186
|
+
- lib/browsermob/cli/har_parser.rb
|
187
|
+
- lib/browsermob/cli/main.rb
|
188
|
+
- lib/browsermob/cli/version.rb
|
189
|
+
homepage: https://github.com/Shashikant86/browsermob-cli
|
190
|
+
licenses:
|
191
|
+
- MIT
|
192
|
+
metadata: {}
|
193
|
+
post_install_message:
|
194
|
+
rdoc_options: []
|
195
|
+
require_paths:
|
196
|
+
- lib
|
197
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - ">="
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '0'
|
202
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
203
|
+
requirements:
|
204
|
+
- - ">="
|
205
|
+
- !ruby/object:Gem::Version
|
206
|
+
version: '0'
|
207
|
+
requirements: []
|
208
|
+
rubyforge_project:
|
209
|
+
rubygems_version: 2.4.6
|
210
|
+
signing_key:
|
211
|
+
specification_version: 4
|
212
|
+
summary: BrowserMob Proxy CLI to Generate HAR and Capture Traffic
|
213
|
+
test_files: []
|