capy 1.3.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +8 -0
- data/examples/google_search.capy +3 -2
- data/lib/capy.rb +31 -7
- data/lib/capy/version.rb +1 -1
- metadata +97 -62
data/README.md
CHANGED
data/examples/google_search.capy
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
#!/usr/bin/env capy
|
2
2
|
|
3
|
-
visit 'http://google.
|
3
|
+
visit 'http://google.co.jp/'
|
4
4
|
fill_in 'q', :with => 'ruby'
|
5
|
-
|
5
|
+
js 'document.forms[0].submit()'
|
6
|
+
puts js('document.getElementsByName("q")[0].value + "の検索結果: " + document.getElementById("resultStats").textContent')
|
data/lib/capy.rb
CHANGED
@@ -15,21 +15,19 @@ module Capy
|
|
15
15
|
on :j, :js, 'eval script as javascript with -a option'
|
16
16
|
on :a, :'app-host=', 'app host'
|
17
17
|
on :s, :'stop', 'stop after eval script'
|
18
|
+
on :w, :webkit, 'use capybara webkit'
|
18
19
|
end
|
19
20
|
return 1 if opts.help?
|
20
21
|
|
21
22
|
trap('INT') { exit }
|
22
23
|
|
23
|
-
|
24
|
-
Capybara::Selenium::Driver.new(app, :browser => opts[:browser].to_sym)
|
25
|
-
end
|
26
|
-
Capybara.current_driver = :selenium
|
27
|
-
Capybara.app_host = opts[:'app-host']
|
24
|
+
setup_capybara
|
28
25
|
|
29
26
|
@mode = opts.js? ? :javascript : :capybara
|
30
27
|
|
31
28
|
evaluater = Evaluater.new
|
32
|
-
|
29
|
+
|
30
|
+
evaluater.visit Capybara.app_host if Capybara.app_host
|
33
31
|
|
34
32
|
if args.empty?
|
35
33
|
start_shell evaluater
|
@@ -40,7 +38,8 @@ module Capy
|
|
40
38
|
return 1
|
41
39
|
end
|
42
40
|
puts "Running: #{script_file} ..."
|
43
|
-
evaluater.eval_script File.read(script_file), mode
|
41
|
+
result = evaluater.eval_script File.read(script_file), mode
|
42
|
+
puts "=> #{result.inspect}".cyan
|
44
43
|
start_shell evaluater if opts.stop?
|
45
44
|
end
|
46
45
|
end
|
@@ -54,6 +53,22 @@ module Capy
|
|
54
53
|
1
|
55
54
|
end
|
56
55
|
|
56
|
+
def setup_capybara
|
57
|
+
if opts.webkit?
|
58
|
+
require 'capybara-webkit'
|
59
|
+
Capybara.register_driver :webkit do |app|
|
60
|
+
Capybara::Driver::Webkit.new(app, :browser => Capybara::Driver::Webkit::Browser.new)
|
61
|
+
end
|
62
|
+
Capybara.current_driver = :webkit
|
63
|
+
else
|
64
|
+
Capybara.register_driver :selenium do |app|
|
65
|
+
Capybara::Selenium::Driver.new(app, :browser => opts[:browser].to_sym)
|
66
|
+
end
|
67
|
+
Capybara.current_driver = :selenium
|
68
|
+
end
|
69
|
+
Capybara.app_host = opts[:'app-host']
|
70
|
+
end
|
71
|
+
|
57
72
|
EXIT_COMMANDS = %w(exit quit)
|
58
73
|
|
59
74
|
def start_shell(evaluater)
|
@@ -108,6 +123,15 @@ module Capy
|
|
108
123
|
class Evaluater
|
109
124
|
include Capybara::DSL
|
110
125
|
|
126
|
+
def initialize
|
127
|
+
if page.driver.respond_to?(:header)
|
128
|
+
page.driver.header(
|
129
|
+
'user-agent',
|
130
|
+
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.55.3 (KHTML, like Gecko) Version/5.1.5 Safari/534.55.3'
|
131
|
+
)
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
111
135
|
def eval_script(script, mode)
|
112
136
|
case mode
|
113
137
|
when :javascript
|
data/lib/capy/version.rb
CHANGED
metadata
CHANGED
@@ -1,79 +1,104 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: capy
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 7
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 1
|
8
|
+
- 4
|
9
|
+
- 0
|
10
|
+
version: 1.4.0
|
6
11
|
platform: ruby
|
7
|
-
authors:
|
12
|
+
authors:
|
8
13
|
- jugyo
|
9
14
|
autorequire:
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
17
|
+
|
18
|
+
date: 2012-04-24 00:00:00 +09:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
15
22
|
name: slop
|
16
|
-
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
17
25
|
none: false
|
18
|
-
requirements:
|
26
|
+
requirements:
|
19
27
|
- - ~>
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 5
|
30
|
+
segments:
|
31
|
+
- 3
|
32
|
+
- 1
|
33
|
+
version: "3.1"
|
22
34
|
type: :runtime
|
23
|
-
|
24
|
-
|
25
|
-
- !ruby/object:Gem::Dependency
|
35
|
+
version_requirements: *id001
|
36
|
+
- !ruby/object:Gem::Dependency
|
26
37
|
name: capybara
|
27
|
-
|
38
|
+
prerelease: false
|
39
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
28
40
|
none: false
|
29
|
-
requirements:
|
30
|
-
- -
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
|
41
|
+
requirements:
|
42
|
+
- - ">="
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
hash: 3
|
45
|
+
segments:
|
46
|
+
- 0
|
47
|
+
version: "0"
|
33
48
|
type: :runtime
|
34
|
-
|
35
|
-
|
36
|
-
- !ruby/object:Gem::Dependency
|
49
|
+
version_requirements: *id002
|
50
|
+
- !ruby/object:Gem::Dependency
|
37
51
|
name: colored
|
38
|
-
|
52
|
+
prerelease: false
|
53
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
39
54
|
none: false
|
40
|
-
requirements:
|
41
|
-
- -
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
|
55
|
+
requirements:
|
56
|
+
- - ">="
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
hash: 3
|
59
|
+
segments:
|
60
|
+
- 0
|
61
|
+
version: "0"
|
44
62
|
type: :runtime
|
45
|
-
|
46
|
-
|
47
|
-
- !ruby/object:Gem::Dependency
|
63
|
+
version_requirements: *id003
|
64
|
+
- !ruby/object:Gem::Dependency
|
48
65
|
name: rspec
|
49
|
-
|
66
|
+
prerelease: false
|
67
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
50
68
|
none: false
|
51
|
-
requirements:
|
52
|
-
- -
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
|
69
|
+
requirements:
|
70
|
+
- - ">="
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
hash: 3
|
73
|
+
segments:
|
74
|
+
- 0
|
75
|
+
version: "0"
|
55
76
|
type: :development
|
56
|
-
|
57
|
-
|
58
|
-
- !ruby/object:Gem::Dependency
|
77
|
+
version_requirements: *id004
|
78
|
+
- !ruby/object:Gem::Dependency
|
59
79
|
name: rr
|
60
|
-
|
80
|
+
prerelease: false
|
81
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
61
82
|
none: false
|
62
|
-
requirements:
|
63
|
-
- -
|
64
|
-
- !ruby/object:Gem::Version
|
65
|
-
|
83
|
+
requirements:
|
84
|
+
- - ">="
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
hash: 3
|
87
|
+
segments:
|
88
|
+
- 0
|
89
|
+
version: "0"
|
66
90
|
type: :development
|
67
|
-
|
68
|
-
version_requirements: *70160342281840
|
91
|
+
version_requirements: *id005
|
69
92
|
description: Capybara Script Runner
|
70
|
-
email:
|
93
|
+
email:
|
71
94
|
- jugyo.org@gmail.com
|
72
|
-
executables:
|
95
|
+
executables:
|
73
96
|
- capy
|
74
97
|
extensions: []
|
98
|
+
|
75
99
|
extra_rdoc_files: []
|
76
|
-
|
100
|
+
|
101
|
+
files:
|
77
102
|
- .gitignore
|
78
103
|
- Gemfile
|
79
104
|
- LICENSE
|
@@ -90,31 +115,41 @@ files:
|
|
90
115
|
- spec/fixtures/foo.capy
|
91
116
|
- spec/fixtures/foo.js
|
92
117
|
- spec/spec_helper.rb
|
118
|
+
has_rdoc: true
|
93
119
|
homepage: https://github.com/jugyo
|
94
120
|
licenses: []
|
121
|
+
|
95
122
|
post_install_message:
|
96
123
|
rdoc_options: []
|
97
|
-
|
124
|
+
|
125
|
+
require_paths:
|
98
126
|
- lib
|
99
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
127
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
100
128
|
none: false
|
101
|
-
requirements:
|
102
|
-
- -
|
103
|
-
- !ruby/object:Gem::Version
|
104
|
-
|
105
|
-
|
129
|
+
requirements:
|
130
|
+
- - ">="
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
hash: 3
|
133
|
+
segments:
|
134
|
+
- 0
|
135
|
+
version: "0"
|
136
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
106
137
|
none: false
|
107
|
-
requirements:
|
108
|
-
- -
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
|
138
|
+
requirements:
|
139
|
+
- - ">="
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
hash: 3
|
142
|
+
segments:
|
143
|
+
- 0
|
144
|
+
version: "0"
|
111
145
|
requirements: []
|
146
|
+
|
112
147
|
rubyforge_project:
|
113
|
-
rubygems_version: 1.
|
148
|
+
rubygems_version: 1.3.7
|
114
149
|
signing_key:
|
115
150
|
specification_version: 3
|
116
151
|
summary: The capy command to run the script written in Capybara DSL.
|
117
|
-
test_files:
|
152
|
+
test_files:
|
118
153
|
- spec/capy_spec.rb
|
119
154
|
- spec/fixtures/foo.capy
|
120
155
|
- spec/fixtures/foo.js
|