watir-webdriver-performance 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/.document ADDED
@@ -0,0 +1,5 @@
1
+ lib/**/*.rb
2
+ bin/*
3
+ -
4
+ features/**/*.feature
5
+ LICENSE.txt
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color
data/Gemfile ADDED
@@ -0,0 +1,10 @@
1
+ source "http://rubygems.org"
2
+ gem "watir-webdriver"
3
+
4
+ group :development do
5
+ gem "rspec", "~> 2.3.0"
6
+ gem "bundler", "~> 1.0.0"
7
+ gem "jeweler", "~> 1.5.2"
8
+ gem "rcov", ">= 0"
9
+ gem "zomg", ">= 0"
10
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,51 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ childprocess (0.1.8)
5
+ ffi (~> 1.0.6)
6
+ diff-lcs (1.1.2)
7
+ ffi (1.0.7)
8
+ rake (>= 0.8.7)
9
+ git (1.2.5)
10
+ jeweler (1.5.2)
11
+ bundler (~> 1.0.0)
12
+ git (>= 1.2.5)
13
+ rake
14
+ json_pure (1.5.1)
15
+ rake (0.8.7)
16
+ rcov (0.9.9)
17
+ rspec (2.3.0)
18
+ rspec-core (~> 2.3.0)
19
+ rspec-expectations (~> 2.3.0)
20
+ rspec-mocks (~> 2.3.0)
21
+ rspec-core (2.3.1)
22
+ rspec-expectations (2.3.0)
23
+ diff-lcs (~> 1.1.2)
24
+ rspec-mocks (2.3.0)
25
+ ruby2ruby (1.2.5)
26
+ ruby_parser (~> 2.0)
27
+ sexp_processor (~> 3.0)
28
+ ruby_parser (2.0.6)
29
+ sexp_processor (~> 3.0)
30
+ rubyzip (0.9.4)
31
+ selenium-webdriver (0.1.4)
32
+ childprocess (>= 0.1.7)
33
+ ffi (>= 1.0.7)
34
+ json_pure
35
+ rubyzip
36
+ sexp_processor (3.0.5)
37
+ watir-webdriver (0.2.2)
38
+ selenium-webdriver (>= 0.1.4)
39
+ zomg (1.0.2)
40
+ ruby2ruby
41
+
42
+ PLATFORMS
43
+ ruby
44
+
45
+ DEPENDENCIES
46
+ bundler (~> 1.0.0)
47
+ jeweler (~> 1.5.2)
48
+ rcov
49
+ rspec (~> 2.3.0)
50
+ watir-webdriver
51
+ zomg
data/LICENSE.txt ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2011 Tim Koopmans
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.rdoc ADDED
@@ -0,0 +1,76 @@
1
+ = watir-webdriver-performance
2
+
3
+ This gem collects and summarises metrics speficied in the W3C Navigation
4
+ web performance specifications at
5
+ http://w3c-test.org/webperf/specs/NavigationTiming/ when using
6
+ watir-webdriver and a compatible browser.
7
+
8
+ == Example output of browser.performance
9
+ All summary times are in milliseconds, and are an abstraction of the w3c
10
+ web performance specification.
11
+
12
+ {
13
+ :summary => {
14
+ :redirect=>0,
15
+ :app_cache=>0,
16
+ :dns=>0,
17
+ :tcp_connection=>982,
18
+ :tcp_connection_secure=>721,
19
+ :request=>1222,
20
+ :response=>4,
21
+ :dom_processing=>4293,
22
+ :response_time=>7298,
23
+ :time_to_first_byte=>2205,
24
+ :time_to_last_byte=>2209
25
+ },
26
+ :navigation => {
27
+ :type => 0,
28
+ :type_back_forward => 2,
29
+ :redirect_count => 0,
30
+ :type_reserved => 255,
31
+ :type_navigate => 0,
32
+ :type_reload => 1
33
+ },
34
+ :memory => {
35
+ :total_js_heap_size => 0,
36
+ :js_heap_size_limit => 0,
37
+ :used_js_heap_size => 0
38
+ },
39
+ :timing => {
40
+ :domain_lookup_start => 1303180421599,
41
+ :load_event_end => 0,
42
+ :connect_end => 1303180421642,
43
+ :response_end => 1303180421853,
44
+ :dom_loading => 1303180421840,
45
+ :navigation_start => 0,
46
+ :redirect_end => 0,
47
+ :unload_event_start => 0,
48
+ :secure_connection_start => 0,
49
+ :connect_start => 1303180421600,
50
+ :dom_content_loaded_event_end => 1303180421934,
51
+ :domain_lookup_end => 1303180421600,
52
+ :dom_interactive => 1303180421934,
53
+ :load_event_start => 0,
54
+ :request_start => 1303180421642,
55
+ :response_start => 1303180421838,
56
+ :dom_complete => 0,
57
+ :fetch_start => 1303180421598,
58
+ :dom_content_loaded_event_start => 1303180421934,
59
+ :redirect_start => 0,
60
+ :unload_event_end => 0
61
+ }
62
+ }
63
+
64
+ == Contributing to watir-webdriver-performance
65
+
66
+ * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
67
+ * Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
68
+ * Fork the project
69
+ * Start a feature/bugfix branch
70
+ * Commit and push until you are happy with your contribution
71
+ * Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
72
+ * Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
73
+
74
+ == Copyright
75
+
76
+ Copyright (c) 2011 Tim Koopmans. See LICENSE.txt for further details.
data/Rakefile ADDED
@@ -0,0 +1,50 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+ begin
4
+ Bundler.setup(:default, :development)
5
+ rescue Bundler::BundlerError => e
6
+ $stderr.puts e.message
7
+ $stderr.puts "Run `bundle install` to install missing gems"
8
+ exit e.status_code
9
+ end
10
+ require 'rake'
11
+
12
+ require 'jeweler'
13
+ Jeweler::Tasks.new do |gem|
14
+ gem.name = "watir-webdriver-performance"
15
+ gem.homepage = "http://github.com/90kts/watir-webdriver-performance"
16
+ gem.license = "MIT"
17
+ gem.summary = %Q{A simple helper gem for watir-webdriver performance metrics}
18
+ gem.description = %Q{This gem collects and summarises metrics speficied in the W3C Navigation web performance specifications at http://w3c-test.org/webperf/specs/NavigationTiming/ when using watir-webdriver and a compatible browser}
19
+ gem.email = "tim.koops@gmail.com"
20
+ gem.authors = ["Tim Koopmans"]
21
+ gem.add_runtime_dependency 'watir-webdriver'
22
+ gem.add_development_dependency 'rspec'
23
+ gem.add_development_dependency 'zomg'
24
+ gem.add_development_dependency 'nokogiri'
25
+ gem.add_development_dependency 'active_support'
26
+ end
27
+ Jeweler::RubygemsDotOrgTasks.new
28
+
29
+ require 'rspec/core'
30
+ require 'rspec/core/rake_task'
31
+ RSpec::Core::RakeTask.new(:spec) do |spec|
32
+ spec.pattern = FileList['spec/**/*_spec.rb']
33
+ end
34
+
35
+ RSpec::Core::RakeTask.new(:rcov) do |spec|
36
+ spec.pattern = 'spec/**/*_spec.rb'
37
+ spec.rcov = true
38
+ end
39
+
40
+ task :default => :spec
41
+
42
+ require 'rake/rdoctask'
43
+ Rake::RDocTask.new do |rdoc|
44
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
45
+
46
+ rdoc.rdoc_dir = 'rdoc'
47
+ rdoc.title = "watir-webdriver-performance #{version}"
48
+ rdoc.rdoc_files.include('README*')
49
+ rdoc.rdoc_files.include('lib/**/*.rb')
50
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.1.0
data/examples/basic.rb ADDED
@@ -0,0 +1,6 @@
1
+ require 'watir-webdriver-performance'
2
+ require 'watir-webdriver'
3
+ b = Watir::Browser.new :chrome
4
+ b.goto "altentee.com"
5
+ p b.performance
6
+ b.close
@@ -0,0 +1,55 @@
1
+ require 'nokogiri'
2
+ require 'open-uri'
3
+ require 'zomg'
4
+ require 'activesupport'
5
+
6
+ doc = Nokogiri::HTML(open('http://w3c-test.org/webperf/specs/NavigationTiming/'))
7
+ idl = []
8
+ doc.css('pre.idl').each do |content|
9
+ idl << content.text
10
+ end
11
+ nodes = []
12
+ idl.each do |spec|
13
+ nodes << ZOMG::IDL.parse(spec) unless ZOMG::IDL.parse(spec).nil?
14
+ end
15
+
16
+ results = {}
17
+ results[:class] = "Performance"
18
+ results[:interfaces] = {}
19
+ nodes.each do |node|
20
+ interface_name = node.children.first.header.name.gsub("Performance","")
21
+ results[:interfaces][interface_name] = {}
22
+ results[:interfaces][interface_name][:attrs] = []
23
+ results[:interfaces][interface_name][:constants] = {}
24
+ node.children.first.children.each do |child|
25
+ case child.class.to_s
26
+ when "ZOMG::IDL::Nodes::Attribute"
27
+ results[:interfaces][interface_name][:attrs] <<
28
+ child.children.first.name.underscore
29
+ when "ZOMG::IDL::Nodes::Constant"
30
+ results[:interfaces][interface_name][:constants][child.name] = child.children.children
31
+ end
32
+ end
33
+ end
34
+
35
+ open(File.expand_path(File.dirname(__FILE__)) + "/#{results[:class].underscore}.rb", "w") do |f|
36
+ f.puts "# auto-generated by idl_extractor.rb"
37
+ f.puts "class #{results[:class]}"
38
+ results[:interfaces].each_key do |interface_name|
39
+ f.puts " " * 2 + "class #{interface_name}"
40
+ results[:interfaces][interface_name][:constants].each do |k,v|
41
+ f.puts " " * 4 + "#{k} = #{v.to_i}"
42
+ end
43
+ f.puts " " * 4 + "attr_reader " +
44
+ results[:interfaces][interface_name][:attrs].collect! {|x| ":"+x}.join(", ")
45
+ f.puts <<-'eos'
46
+ def initialize args
47
+ args.each do |k,v|
48
+ instance_variable_set("@#{k}", v) if respond_to?(k.to_sym) unless v.nil?
49
+ end
50
+ end
51
+ eos
52
+ f.puts " " * 2 + "end"
53
+ end
54
+ f.puts "end"
55
+ end
@@ -0,0 +1,23 @@
1
+ # auto-generated by idl_extractor.rb
2
+ class Performance
3
+ class Navigation
4
+ TYPE_RESERVED = 255
5
+ TYPE_NAVIGATE = 0
6
+ TYPE_RELOAD = 1
7
+ TYPE_BACK_FORWARD = 2
8
+ attr_reader :type, :redirect_count
9
+ def initialize args
10
+ args.each do |k,v|
11
+ instance_variable_set("@#{k}", v) if respond_to?(k.to_sym) unless v.nil?
12
+ end
13
+ end
14
+ end
15
+ class Timing
16
+ attr_reader :navigation_start, :unload_event_start, :unload_event_end, :redirect_start, :redirect_end, :fetch_start, :domain_lookup_start, :domain_lookup_end, :connect_start, :connect_end, :secure_connection_start, :request_start, :response_start, :response_end, :dom_loading, :dom_interactive, :dom_content_loaded_event_start, :dom_content_loaded_event_end, :dom_complete, :load_event_start, :load_event_end
17
+ def initialize args
18
+ args.each do |k,v|
19
+ instance_variable_set("@#{k}", v) if respond_to?(k.to_sym) unless v.nil?
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,82 @@
1
+ require 'ostruct'
2
+ module Watir
3
+
4
+ # Adds helper for window.performance to Watir::Browser.
5
+ # @see http://dev.w3.org/2006/webapi/WebTiming/
6
+
7
+ module PerformanceHelper
8
+
9
+ def underscored(camel_cased_word)
10
+ word = camel_cased_word.to_s.dup
11
+ word.gsub!(/::/, '/')
12
+ word.gsub!(/([A-Z]+)([A-Z][a-z])/,'\1_\2')
13
+ word.gsub!(/([a-z\d])([A-Z])/,'\1_\2')
14
+ word.tr!("-", "_")
15
+ word.downcase!
16
+ word
17
+ end
18
+
19
+ def earliest_timestamp(hash)
20
+ return hash[:timing][:navigation_start] if hash[:timing][:navigation_start] > 0
21
+ return hash[:timing][:redirect_start] if hash[:timing][:redirect_start] > 0
22
+ return hash[:timing][:redirect_end] if hash[:timing][:redirect_end] > 0
23
+ return hash[:timing][:fetch_start] if hash[:timing][:fetch_start] > 0
24
+ end
25
+
26
+ def latest_timestamp(hash)
27
+ return hash[:timing][:load_event_end] if hash[:timing][:load_event_end] > 0
28
+ return hash[:timing][:load_event_start] if hash[:timing][:load_event_start] > 0
29
+ return hash[:timing][:dom_complete] if hash[:timing][:dom_complete] > 0
30
+ return hash[:timing][:dom_content_loaded_event_end] if hash[:timing][:dom_content_loaded_event_end] > 0
31
+ return hash[:timing][:dom_content_loaded_event_start] if hash[:timing][:dom_content_loaded_event_start] > 0
32
+ return hash[:timing][:dom_interactive] if hash[:timing][:dom_interactive] > 0
33
+ return hash[:timing][:response_end] if hash[:timing][:response_end] > 0
34
+ end
35
+
36
+
37
+ def munge(data)
38
+ hash = {}
39
+ data.each_key do |key|
40
+ hash[key.to_sym] = {}
41
+ data[key].each do |k,v|
42
+ hash[key.to_sym][underscored(k).to_sym] = v
43
+ end
44
+ end
45
+ hash[:summary] = {}
46
+ hash[:summary][:redirect] = hash[:timing][:redirect_end] -
47
+ hash[:timing][:redirect_end] if hash[:timing][:redirect_end] > 0
48
+ hash[:summary][:app_cache] = hash[:timing][:domain_lookup_start] -
49
+ hash[:timing][:fetch_start] if hash[:timing][:fetch_start] > 0
50
+ hash[:summary][:dns] = hash[:timing][:domain_lookup_end] -
51
+ hash[:timing][:domain_lookup_start] if hash[:timing][:domain_lookup_start] > 0
52
+ hash[:summary][:tcp_connection] = hash[:timing][:connect_end] -
53
+ hash[:timing][:connect_start] if hash[:timing][:connect_start] > 0
54
+ hash[:summary][:tcp_connection_secure] = hash[:timing][:connect_end] -
55
+ hash[:timing][:secure_connection_start] if hash[:timing][:secure_connection_start] > 0
56
+ hash[:summary][:request] = hash[:timing][:response_start] -
57
+ hash[:timing][:request_start] if hash[:timing][:request_start] > 0
58
+ hash[:summary][:response] = hash[:timing][:response_end] -
59
+ hash[:timing][:response_start] if hash[:timing][:response_start] > 0
60
+ hash[:summary][:dom_processing] = hash[:timing][:dom_content_loaded_event_start] -
61
+ hash[:timing][:dom_loading] if hash[:timing][:dom_loading] > 0
62
+ hash[:summary][:time_to_first_byte] = hash[:timing][:response_start] -
63
+ hash[:timing][:domain_lookup_start] if hash[:timing][:domain_lookup_start] > 0
64
+ hash[:summary][:time_to_last_byte] = hash[:timing][:response_end] -
65
+ hash[:timing][:domain_lookup_start] if hash[:timing][:domain_lookup_start] > 0
66
+ hash[:summary][:response_time] = latest_timestamp(hash) - earliest_timestamp(hash)
67
+ hash
68
+ end
69
+
70
+ def performance
71
+ data = driver.execute_script("return window.performance || window.webkitPerformance || window.mozPerformance || window.msPerformance;")
72
+ OpenStruct.new(munge(data))
73
+ end
74
+
75
+ end
76
+
77
+ class Browser
78
+ include PerformanceHelper
79
+ end
80
+ end
81
+
82
+
@@ -0,0 +1,11 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+ require 'rspec'
4
+ require 'watir-webdriver-performance'
5
+ require 'watir-webdriver'
6
+
7
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
8
+
9
+ RSpec.configure do |config|
10
+
11
+ end
@@ -0,0 +1,47 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe "WatirWebdriverPerformance" do
4
+
5
+ let!(:b) { @b }
6
+
7
+ before(:all) do
8
+ @b ||= Watir::Browser.new :chrome
9
+ end
10
+
11
+ after(:all) do
12
+ @b.close
13
+ end
14
+
15
+ it "should open get performance metrics from the browser" do
16
+ b.goto "google.com"
17
+ b.performance.should be_an_instance_of(OpenStruct)
18
+ end
19
+
20
+ it "should get summary data from the performance metrics" do
21
+ # Summary metrics based on Processing Model of NavigationTiming
22
+ # http://w3c-test.org/webperf/specs/NavigationTiming/#processing-model
23
+ b.performance.summary.should include(:app_cache)
24
+ b.performance.summary.should include(:dns)
25
+ b.performance.summary.should include(:tcp_connection)
26
+ b.performance.summary.should include(:request)
27
+ b.performance.summary.should include(:response)
28
+ b.performance.summary.should include(:dom_processing)
29
+ end
30
+
31
+ it "should get summary data from the performance metrics for redirects" do
32
+ b.goto "http://watirgrid.com"
33
+ b.performance.summary.should include(:redirect)
34
+ end
35
+
36
+ it "should get summary data from the performance metrics for secure connections" do
37
+ b.performance.summary.should include(:tcp_connection_secure)
38
+ end
39
+
40
+ it "should get the summary metrics such as Response Time, TTLB and TTFB" do
41
+ b.performance.summary.should include(:time_to_first_byte) # aka "server time"
42
+ b.performance.summary.should include(:time_to_last_byte) # aka "network + server time"
43
+ b.performance.summary.should include(:response_time)
44
+ puts "Page took #{b.performance.summary[:response_time]/1000} seconds to load"
45
+ end
46
+
47
+ end
@@ -0,0 +1,89 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{watir-webdriver-performance}
8
+ s.version = "0.1.0"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Tim Koopmans"]
12
+ s.date = %q{2011-04-19}
13
+ s.description = %q{This gem collects and summarises metrics speficied in the W3C Navigation web performance specifications at http://w3c-test.org/webperf/specs/NavigationTiming/ when using watir-webdriver and a compatible browser}
14
+ s.email = %q{tim.koops@gmail.com}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE.txt",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ ".rspec",
22
+ "Gemfile",
23
+ "Gemfile.lock",
24
+ "LICENSE.txt",
25
+ "README.rdoc",
26
+ "Rakefile",
27
+ "VERSION",
28
+ "examples/basic.rb",
29
+ "lib/idl_extractor.rb",
30
+ "lib/performance.rb",
31
+ "lib/watir-webdriver-performance.rb",
32
+ "spec/spec_helper.rb",
33
+ "spec/watir-webdriver-performance_spec.rb",
34
+ "watir-webdriver-performance.gemspec"
35
+ ]
36
+ s.homepage = %q{http://github.com/90kts/watir-webdriver-performance}
37
+ s.licenses = ["MIT"]
38
+ s.require_paths = ["lib"]
39
+ s.rubygems_version = %q{1.4.2}
40
+ s.summary = %q{A simple helper gem for watir-webdriver performance metrics}
41
+ s.test_files = [
42
+ "examples/basic.rb",
43
+ "spec/spec_helper.rb",
44
+ "spec/watir-webdriver-performance_spec.rb"
45
+ ]
46
+
47
+ if s.respond_to? :specification_version then
48
+ s.specification_version = 3
49
+
50
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
51
+ s.add_runtime_dependency(%q<watir-webdriver>, [">= 0"])
52
+ s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
53
+ s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
54
+ s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
55
+ s.add_development_dependency(%q<rcov>, [">= 0"])
56
+ s.add_development_dependency(%q<zomg>, [">= 0"])
57
+ s.add_runtime_dependency(%q<watir-webdriver>, [">= 0"])
58
+ s.add_development_dependency(%q<rspec>, [">= 0"])
59
+ s.add_development_dependency(%q<zomg>, [">= 0"])
60
+ s.add_development_dependency(%q<nokogiri>, [">= 0"])
61
+ s.add_development_dependency(%q<active_support>, [">= 0"])
62
+ else
63
+ s.add_dependency(%q<watir-webdriver>, [">= 0"])
64
+ s.add_dependency(%q<rspec>, ["~> 2.3.0"])
65
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
66
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
67
+ s.add_dependency(%q<rcov>, [">= 0"])
68
+ s.add_dependency(%q<zomg>, [">= 0"])
69
+ s.add_dependency(%q<watir-webdriver>, [">= 0"])
70
+ s.add_dependency(%q<rspec>, [">= 0"])
71
+ s.add_dependency(%q<zomg>, [">= 0"])
72
+ s.add_dependency(%q<nokogiri>, [">= 0"])
73
+ s.add_dependency(%q<active_support>, [">= 0"])
74
+ end
75
+ else
76
+ s.add_dependency(%q<watir-webdriver>, [">= 0"])
77
+ s.add_dependency(%q<rspec>, ["~> 2.3.0"])
78
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
79
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
80
+ s.add_dependency(%q<rcov>, [">= 0"])
81
+ s.add_dependency(%q<zomg>, [">= 0"])
82
+ s.add_dependency(%q<watir-webdriver>, [">= 0"])
83
+ s.add_dependency(%q<rspec>, [">= 0"])
84
+ s.add_dependency(%q<zomg>, [">= 0"])
85
+ s.add_dependency(%q<nokogiri>, [">= 0"])
86
+ s.add_dependency(%q<active_support>, [">= 0"])
87
+ end
88
+ end
89
+
metadata ADDED
@@ -0,0 +1,243 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: watir-webdriver-performance
3
+ version: !ruby/object:Gem::Version
4
+ hash: 27
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 1
9
+ - 0
10
+ version: 0.1.0
11
+ platform: ruby
12
+ authors:
13
+ - Tim Koopmans
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-04-19 00:00:00 +10:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ version_requirements: &id001 !ruby/object:Gem::Requirement
23
+ none: false
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ hash: 3
28
+ segments:
29
+ - 0
30
+ version: "0"
31
+ prerelease: false
32
+ requirement: *id001
33
+ type: :runtime
34
+ name: watir-webdriver
35
+ - !ruby/object:Gem::Dependency
36
+ version_requirements: &id002 !ruby/object:Gem::Requirement
37
+ none: false
38
+ requirements:
39
+ - - ~>
40
+ - !ruby/object:Gem::Version
41
+ hash: 3
42
+ segments:
43
+ - 2
44
+ - 3
45
+ - 0
46
+ version: 2.3.0
47
+ prerelease: false
48
+ requirement: *id002
49
+ type: :development
50
+ name: rspec
51
+ - !ruby/object:Gem::Dependency
52
+ version_requirements: &id003 !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - ~>
56
+ - !ruby/object:Gem::Version
57
+ hash: 23
58
+ segments:
59
+ - 1
60
+ - 0
61
+ - 0
62
+ version: 1.0.0
63
+ prerelease: false
64
+ requirement: *id003
65
+ type: :development
66
+ name: bundler
67
+ - !ruby/object:Gem::Dependency
68
+ version_requirements: &id004 !ruby/object:Gem::Requirement
69
+ none: false
70
+ requirements:
71
+ - - ~>
72
+ - !ruby/object:Gem::Version
73
+ hash: 7
74
+ segments:
75
+ - 1
76
+ - 5
77
+ - 2
78
+ version: 1.5.2
79
+ prerelease: false
80
+ requirement: *id004
81
+ type: :development
82
+ name: jeweler
83
+ - !ruby/object:Gem::Dependency
84
+ version_requirements: &id005 !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ hash: 3
90
+ segments:
91
+ - 0
92
+ version: "0"
93
+ prerelease: false
94
+ requirement: *id005
95
+ type: :development
96
+ name: rcov
97
+ - !ruby/object:Gem::Dependency
98
+ version_requirements: &id006 !ruby/object:Gem::Requirement
99
+ none: false
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ hash: 3
104
+ segments:
105
+ - 0
106
+ version: "0"
107
+ prerelease: false
108
+ requirement: *id006
109
+ type: :development
110
+ name: zomg
111
+ - !ruby/object:Gem::Dependency
112
+ version_requirements: &id007 !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ hash: 3
118
+ segments:
119
+ - 0
120
+ version: "0"
121
+ prerelease: false
122
+ requirement: *id007
123
+ type: :runtime
124
+ name: watir-webdriver
125
+ - !ruby/object:Gem::Dependency
126
+ version_requirements: &id008 !ruby/object:Gem::Requirement
127
+ none: false
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ hash: 3
132
+ segments:
133
+ - 0
134
+ version: "0"
135
+ prerelease: false
136
+ requirement: *id008
137
+ type: :development
138
+ name: rspec
139
+ - !ruby/object:Gem::Dependency
140
+ version_requirements: &id009 !ruby/object:Gem::Requirement
141
+ none: false
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ hash: 3
146
+ segments:
147
+ - 0
148
+ version: "0"
149
+ prerelease: false
150
+ requirement: *id009
151
+ type: :development
152
+ name: zomg
153
+ - !ruby/object:Gem::Dependency
154
+ version_requirements: &id010 !ruby/object:Gem::Requirement
155
+ none: false
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ hash: 3
160
+ segments:
161
+ - 0
162
+ version: "0"
163
+ prerelease: false
164
+ requirement: *id010
165
+ type: :development
166
+ name: nokogiri
167
+ - !ruby/object:Gem::Dependency
168
+ version_requirements: &id011 !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ hash: 3
174
+ segments:
175
+ - 0
176
+ version: "0"
177
+ prerelease: false
178
+ requirement: *id011
179
+ type: :development
180
+ name: active_support
181
+ description: This gem collects and summarises metrics speficied in the W3C Navigation web performance specifications at http://w3c-test.org/webperf/specs/NavigationTiming/ when using watir-webdriver and a compatible browser
182
+ email: tim.koops@gmail.com
183
+ executables: []
184
+
185
+ extensions: []
186
+
187
+ extra_rdoc_files:
188
+ - LICENSE.txt
189
+ - README.rdoc
190
+ files:
191
+ - .document
192
+ - .rspec
193
+ - Gemfile
194
+ - Gemfile.lock
195
+ - LICENSE.txt
196
+ - README.rdoc
197
+ - Rakefile
198
+ - VERSION
199
+ - examples/basic.rb
200
+ - lib/idl_extractor.rb
201
+ - lib/performance.rb
202
+ - lib/watir-webdriver-performance.rb
203
+ - spec/spec_helper.rb
204
+ - spec/watir-webdriver-performance_spec.rb
205
+ - watir-webdriver-performance.gemspec
206
+ has_rdoc: true
207
+ homepage: http://github.com/90kts/watir-webdriver-performance
208
+ licenses:
209
+ - MIT
210
+ post_install_message:
211
+ rdoc_options: []
212
+
213
+ require_paths:
214
+ - lib
215
+ required_ruby_version: !ruby/object:Gem::Requirement
216
+ none: false
217
+ requirements:
218
+ - - ">="
219
+ - !ruby/object:Gem::Version
220
+ hash: 3
221
+ segments:
222
+ - 0
223
+ version: "0"
224
+ required_rubygems_version: !ruby/object:Gem::Requirement
225
+ none: false
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ hash: 3
230
+ segments:
231
+ - 0
232
+ version: "0"
233
+ requirements: []
234
+
235
+ rubyforge_project:
236
+ rubygems_version: 1.4.2
237
+ signing_key:
238
+ specification_version: 3
239
+ summary: A simple helper gem for watir-webdriver performance metrics
240
+ test_files:
241
+ - examples/basic.rb
242
+ - spec/spec_helper.rb
243
+ - spec/watir-webdriver-performance_spec.rb