operawatir 0.5.1-jruby → 0.6.pre1-jruby
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +20 -0
- data/VERSION +1 -1
- data/bin/desktopwatir +20 -12
- data/bin/operawatir +6 -4
- data/lib/operadriver/commons-exec-1.1.jar +0 -0
- data/lib/operadriver/guava-10.0.1.jar +0 -0
- data/lib/operadriver/{operadriver-v0.7.3.jar → operadriver-v0.8.1.jar} +0 -0
- data/lib/operadriver/operalaunchers-0.3.jar +0 -0
- data/lib/operadriver/selenium-java-2.13.0.jar +0 -0
- data/lib/operawatir.rb +3 -2
- data/lib/operawatir/browser.rb +13 -11
- data/lib/operawatir/desktop_browser.rb +6 -20
- data/lib/operawatir/desktop_helper.rb +2 -0
- data/operawatir.gemspec +13 -12
- data/spec/operawatir/desktop/quickbutton_spec.rb +8 -8
- metadata +11 -12
- data/lib/operadriver/commons-io-2.0.1.jar +0 -0
- data/lib/operadriver/guava-r09.jar +0 -0
- data/lib/operadriver/selenium-nodeps-20100909.jar +0 -0
data/CHANGES
CHANGED
@@ -1,3 +1,23 @@
|
|
1
|
+
v0.6.pre1 2011-12-01
|
2
|
+
|
3
|
+
[ENHANCEMENTS]
|
4
|
+
|
5
|
+
* Construction of DesktopWatir now uses desired capabilities, and
|
6
|
+
relies on shared code between OperaWatir and OperaDesktopWatir.
|
7
|
+
(andreastt)
|
8
|
+
|
9
|
+
[BUG FIXES]
|
10
|
+
|
11
|
+
* OperaDesktopHelper missed a line making it impossible to run
|
12
|
+
desktopwatir RSpec tests from `jruby -S rspec test.rb`.
|
13
|
+
(andreastt)
|
14
|
+
|
15
|
+
* Exposing browser.utils.* on DesktopBrowser. (andreastt)
|
16
|
+
|
17
|
+
[OTHER]
|
18
|
+
|
19
|
+
* Upgraded to OperaDriver v0.8.1. (andreastt)
|
20
|
+
|
1
21
|
v0.5.1 2011-09-20
|
2
22
|
|
3
23
|
[OTHER]
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.6.pre1
|
data/bin/desktopwatir
CHANGED
@@ -1,13 +1,14 @@
|
|
1
1
|
#!/usr/bin/env jruby
|
2
2
|
require 'rubygems'
|
3
3
|
require 'optparse'
|
4
|
+
require 'stringio'
|
4
5
|
require 'rspec'
|
5
6
|
require 'rbconfig'
|
6
7
|
require 'operawatir'
|
7
8
|
|
8
|
-
|
9
9
|
@options = {
|
10
|
-
|
10
|
+
:manual => false, # Defining this here so that we are sure
|
11
|
+
# it doesn't trigger manual mode
|
11
12
|
:ng => false,
|
12
13
|
:color_enabled => true,
|
13
14
|
:check_syntax => false,
|
@@ -25,21 +26,16 @@ require 'operawatir'
|
|
25
26
|
begin
|
26
27
|
OptionParser.new do |opts|
|
27
28
|
opts.banner = <<EOS
|
28
|
-
|
29
|
-
|
30
|
-
[-
|
31
|
-
[
|
29
|
+
Usage: desktopwatir [-m|--manual] [-l|--launcher=BINARY]
|
30
|
+
[-e|--executable=BINARY] [-a|--args=ARGUMENTS] [--no-color]
|
31
|
+
[-q|--no-quit] [-r|--no-restart] [--opera-idle]
|
32
|
+
[-b|--backtrace] [-t|--tag=TAG] [-f|--format=FORMAT]
|
32
33
|
[-o|--out=FILE] [-h|--help] [-v|--version] FILES
|
33
34
|
EOS
|
34
35
|
|
35
36
|
opts.separator ''
|
36
37
|
opts.separator 'Specific options:'
|
37
38
|
|
38
|
-
#run without launcher and with manual connection, restart not possible (same as -rq)
|
39
|
-
#opts.on('-m', '--manual', 'Wait for a manual connection from opera:debug') do |c|
|
40
|
-
# @options[:manual] = c
|
41
|
-
#end
|
42
|
-
|
43
39
|
opts.on('-l', '--launcher=BINARY', 'Path to launcher binary, will use environmental ',
|
44
40
|
'variable OPERA_LAUNCHER if not specified') do |c|
|
45
41
|
@options[:launcher] = c
|
@@ -96,6 +92,18 @@ EOS
|
|
96
92
|
opts.separator ''
|
97
93
|
opts.separator 'Common options:'
|
98
94
|
|
95
|
+
opts.on_tail('-d', '--debug=LEVEL', 'The logging level to use. Available levels: SEVERE',
|
96
|
+
'(highest), WARNING, INFO (default), CONFIG, FINE,',
|
97
|
+
'FINER, FINEST (lowest), ALL') do |l|
|
98
|
+
available_levels = ['SEVERE', 'WARNING', 'INFO', 'CONFIG', 'FINE', 'FINER', 'FINEST', 'ALL']
|
99
|
+
raise OptionParser::InvalidArgument, l.to_s.inspect unless available_levels.include?(l)
|
100
|
+
@options[:logging_level] = l
|
101
|
+
end
|
102
|
+
|
103
|
+
opts.on_tail('--log=FILE', 'Output the log to a file') do |f|
|
104
|
+
@options[:logging_file] = f
|
105
|
+
end
|
106
|
+
|
99
107
|
opts.on_tail('-h', '--help', 'Show this message') do
|
100
108
|
abort opts.to_s
|
101
109
|
end
|
@@ -105,7 +113,7 @@ EOS
|
|
105
113
|
end
|
106
114
|
end.parse!(ARGV)
|
107
115
|
rescue OptionParser::InvalidOption => e
|
108
|
-
abort "desktopwatir:
|
116
|
+
abort "desktopwatir: #{e}"
|
109
117
|
end
|
110
118
|
|
111
119
|
if ARGV.empty?
|
data/bin/operawatir
CHANGED
@@ -14,6 +14,7 @@ require 'operawatir'
|
|
14
14
|
:output_stream => IO.new(1, 'w'),
|
15
15
|
:format => 'progress',
|
16
16
|
:no_quit => false,
|
17
|
+
:no_restart => false,
|
17
18
|
:opera_idle => false,
|
18
19
|
#:full_backtrace => false # TODO: Provide fix for RSpec
|
19
20
|
}
|
@@ -24,10 +25,11 @@ require 'operawatir'
|
|
24
25
|
begin
|
25
26
|
OptionParser.new do |opts|
|
26
27
|
opts.banner = <<EOS
|
27
|
-
Usage: operawatir [-m|--manual] [-l|--launcher=BINARY]
|
28
|
-
[-a|--args=ARGUMENTS] [-q|--no-quit]
|
29
|
-
[--
|
30
|
-
[-
|
28
|
+
Usage: operawatir [-m|--manual] [-l|--launcher=BINARY]
|
29
|
+
[--binary=BINARY] [-a|--args=ARGUMENTS] [-q|--no-quit]
|
30
|
+
[--opera-idle] [-b|--backtrace] [--no-color] [-t|--tag=TAG]
|
31
|
+
[-f|--format=FORMAT] [-o|--out=FILE] [-d|--debug=LEVEL]
|
32
|
+
[--log=FILE] [-h|--help] [-v|--version] FILES
|
31
33
|
EOS
|
32
34
|
|
33
35
|
opts.separator ''
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/lib/operawatir.rb
CHANGED
@@ -4,8 +4,9 @@ require 'deprecated'
|
|
4
4
|
require 'java'
|
5
5
|
include Java
|
6
6
|
|
7
|
-
%w(commons-jxpath-1.3.jar protobuf-java-2.4.1.jar
|
8
|
-
|
7
|
+
%w(commons-jxpath-1.3.jar commons-exec-1.1.jar protobuf-java-2.4.1.jar
|
8
|
+
selenium-java-2.13.0.jar operalaunchers-0.3.jar operadriver-v0.8.1.jar
|
9
|
+
guava-10.0.1.jar).each { |jar| require "operadriver/#{jar}" }
|
9
10
|
|
10
11
|
include_class org.openqa.selenium.WebDriver
|
11
12
|
include_class org.openqa.selenium.remote.RemoteWebElement
|
data/lib/operawatir/browser.rb
CHANGED
@@ -199,17 +199,19 @@ class OperaWatir::Browser
|
|
199
199
|
|
200
200
|
private
|
201
201
|
|
202
|
-
def self.desired_capabilities
|
203
|
-
@desired_capabilities ||= DesiredCapabilities.new.tap
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
202
|
+
def self.desired_capabilities(desktopwatir = false)
|
203
|
+
@desired_capabilities ||= DesiredCapabilities.new.tap do |c|
|
204
|
+
c.setCapability('opera.logging.level', self.settings[:logging_level]) if self.settings[:logging_level]
|
205
|
+
c.setCapability('opera.logging.file', self.settings[:logging_file]) if self.settings[:logging_file]
|
206
|
+
c.setCapability('opera.autostart', false) if self.settings[:manual]
|
207
|
+
c.setCapability('opera.launcher', self.settings[:launcher]) if self.settings[:launcher]
|
208
|
+
c.setCapability('opera.binary', self.settings[:path]) if self.settings[:path]
|
209
|
+
c.setCapability('opera.arguments', self.settings[:args].to_s) if self.settings[:args]
|
210
|
+
c.setCapability('opera.no_quit', true) if self.settings[:no_quit]
|
211
|
+
c.setCapability('opera.no_restart', true) if self.settings[:no_restart]
|
212
|
+
c.setCapability('opera.guess_binary_path', false) if desktopwatir
|
213
|
+
c.setCapability('opera.idle', true) if self.settings[:opera_idle] or ENV['OPERA_IDLE'].truthy?
|
214
|
+
end
|
213
215
|
end
|
214
216
|
|
215
217
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
1
2
|
module OperaWatir
|
2
3
|
class DesktopBrowser < Browser
|
3
4
|
include DesktopContainer
|
@@ -13,7 +14,7 @@ module OperaWatir
|
|
13
14
|
def initialize
|
14
15
|
OperaWatir.compatibility! unless OperaWatir.api >= 3
|
15
16
|
|
16
|
-
self.driver
|
17
|
+
self.driver = OperaDesktopDriver.new(self.class.desired_capabilities(true))
|
17
18
|
self.active_window = OperaWatir::Window.new(self)
|
18
19
|
self.preferences = OperaWatir::Preferences.new(self)
|
19
20
|
self.keys = OperaWatir::Keys.new(self)
|
@@ -604,8 +605,8 @@ module OperaWatir
|
|
604
605
|
return 0 if win_id == 0
|
605
606
|
|
606
607
|
#Ensure is Expanded
|
607
|
-
if quick_button(:name, "
|
608
|
-
quick_button(:name, "
|
608
|
+
if quick_button(:name, "Details_expand").value == 0
|
609
|
+
quick_button(:name, "Details_expand").toggle_with_click
|
609
610
|
end
|
610
611
|
|
611
612
|
quick_checkboxes("Clear Private Data Dialog").each do |box|
|
@@ -796,26 +797,11 @@ module OperaWatir
|
|
796
797
|
|
797
798
|
private
|
798
799
|
|
799
|
-
|
800
|
+
def close_menu
|
800
801
|
wait_start
|
801
802
|
key_press_direct("Esc")
|
802
803
|
wait_for_menu_closed("")
|
803
|
-
|
804
|
-
|
805
|
-
|
806
|
-
def self.opera_driver_settings
|
807
|
-
@opera_driver_settings ||= OperaDriverSettings.new.tap {|s|
|
808
|
-
#s.setRunOperaLauncherFromOperaDriver true
|
809
|
-
s.setAutostart false if self.settings[:manual]
|
810
|
-
s.setOperaLauncherBinary self.settings[:launcher]
|
811
|
-
s.setOperaBinaryLocation self.settings[:path]
|
812
|
-
# s.setOperaBinaryArguments self.settings[:args].to_s + ' -autotestmode'
|
813
|
-
s.setNoQuit self.settings[:no_quit]
|
814
|
-
s.setNoRestart self.settings[:no_restart]
|
815
|
-
s.setGuessOperaPath false
|
816
|
-
s.setUseOperaIdle false if !self.settings[:opera_idle]
|
817
|
-
}
|
818
|
-
end
|
804
|
+
end
|
819
805
|
|
820
806
|
# Gets the parent widget name of which there is none here
|
821
807
|
def parent_widget
|
data/operawatir.gemspec
CHANGED
@@ -5,12 +5,12 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{operawatir}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.6.pre1"
|
9
9
|
s.platform = %q{jruby}
|
10
10
|
|
11
|
-
s.required_rubygems_version = Gem::Requirement.new("
|
12
|
-
s.authors = [
|
13
|
-
s.date = %q{2011-
|
11
|
+
s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
|
12
|
+
s.authors = [%q{Andreas Tolf Tolfsen}, %q{Chris Lloyd}, %q{Stuart Knightley}, %q{Deniz Turkoglu}]
|
13
|
+
s.date = %q{2011-12-01}
|
14
14
|
s.description = %q{ OperaWatir is a part of the Watir (pronounced water) family of
|
15
15
|
free software Ruby libraries for automating web browsers.
|
16
16
|
OperaWatir provides a querying engine and Ruby bindings for a
|
@@ -18,8 +18,8 @@ Gem::Specification.new do |s|
|
|
18
18
|
browser. It aims for full compliancy with the Watir 2 and Watir 3
|
19
19
|
specifications.
|
20
20
|
}
|
21
|
-
s.email = [
|
22
|
-
s.executables = [
|
21
|
+
s.email = [%q{andreastt@opera.com}, %q{christopherl@opera.com}, %q{stuartk@opera.com}, %q{dturkoglu@opera.com}]
|
22
|
+
s.executables = [%q{desktopwatir}, %q{operawatir}]
|
23
23
|
s.extra_rdoc_files = [
|
24
24
|
"README.md"
|
25
25
|
]
|
@@ -37,12 +37,13 @@ Gem::Specification.new do |s|
|
|
37
37
|
"bin/operawatir",
|
38
38
|
"lib/operadriver/APACHE_2.0_LICENSE.txt",
|
39
39
|
"lib/operadriver/NEW_BSD_LICENSE.txt",
|
40
|
-
"lib/operadriver/commons-
|
40
|
+
"lib/operadriver/commons-exec-1.1.jar",
|
41
41
|
"lib/operadriver/commons-jxpath-1.3.jar",
|
42
|
-
"lib/operadriver/guava-
|
43
|
-
"lib/operadriver/operadriver-v0.
|
42
|
+
"lib/operadriver/guava-10.0.1.jar",
|
43
|
+
"lib/operadriver/operadriver-v0.8.1.jar",
|
44
|
+
"lib/operadriver/operalaunchers-0.3.jar",
|
44
45
|
"lib/operadriver/protobuf-java-2.4.1.jar",
|
45
|
-
"lib/operadriver/selenium-
|
46
|
+
"lib/operadriver/selenium-java-2.13.0.jar",
|
46
47
|
"lib/operawatir.rb",
|
47
48
|
"lib/operawatir/actions.rb",
|
48
49
|
"lib/operawatir/browser.rb",
|
@@ -292,9 +293,9 @@ Gem::Specification.new do |s|
|
|
292
293
|
"utils/formatters/spartan_formatter.rb"
|
293
294
|
]
|
294
295
|
s.homepage = %q{http://www.opera.com/developer/tools/operawatir/}
|
295
|
-
s.require_paths = [
|
296
|
+
s.require_paths = [%q{lib}]
|
296
297
|
s.rubyforge_project = %q{operawatir}
|
297
|
-
s.rubygems_version = %q{1.
|
298
|
+
s.rubygems_version = %q{1.8.9}
|
298
299
|
s.summary = %q{Toolkit for automating interactions with the Opera web browser.}
|
299
300
|
|
300
301
|
if s.respond_to? :specification_version then
|
@@ -156,11 +156,11 @@ describe 'QuickButton' do
|
|
156
156
|
end
|
157
157
|
|
158
158
|
it 'returns value = 1 of button when button is pressed' do
|
159
|
-
browser.quick_button(:name, "
|
159
|
+
browser.quick_button(:name, "Details_expand").toggle_with_click.should == 1
|
160
160
|
end
|
161
161
|
|
162
162
|
it 'returns value = 0 of button when button is unpressed' do
|
163
|
-
browser.quick_button(:name, "
|
163
|
+
browser.quick_button(:name, "Details_expand").toggle_with_click.should == 0
|
164
164
|
browser.close_dialog("Clear Private Data Dialog").should close_dialog
|
165
165
|
end
|
166
166
|
|
@@ -182,13 +182,13 @@ describe 'QuickButton' do
|
|
182
182
|
end
|
183
183
|
|
184
184
|
it 'expands dialog with click' do
|
185
|
-
browser.quick_button(:name, "
|
185
|
+
browser.quick_button(:name, "Details_expand").expand_with_click
|
186
186
|
browser.quick_button(:name, "button_manage_wand").should be_visible
|
187
187
|
end
|
188
188
|
|
189
189
|
|
190
190
|
it 'collapses dialog with click ' do
|
191
|
-
browser.quick_button(:name, "
|
191
|
+
browser.quick_button(:name, "Details_expand").expand_with_click
|
192
192
|
browser.quick_button(:name, "button_manage_wand").should_not be_visible
|
193
193
|
end
|
194
194
|
|
@@ -208,13 +208,13 @@ describe 'QuickButton' do
|
|
208
208
|
end
|
209
209
|
|
210
210
|
it 'returns 1 when button is pressed' do
|
211
|
-
browser.quick_button(:name, "
|
212
|
-
browser.quick_button(:name, "
|
211
|
+
browser.quick_button(:name, "Details_expand").toggle_with_click.should == 1
|
212
|
+
browser.quick_button(:name, "Details_expand").value.should == 1
|
213
213
|
end
|
214
214
|
|
215
215
|
it 'returns 0 when button is unpressed' do
|
216
|
-
browser.quick_button(:name, "
|
217
|
-
browser.quick_button(:name, "
|
216
|
+
browser.quick_button(:name, "Details_expand").toggle_with_click.should == 0
|
217
|
+
browser.quick_button(:name, "Details_expand").value.should == 0
|
218
218
|
end
|
219
219
|
|
220
220
|
after(:all) do
|
metadata
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: operawatir
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
version: 0.
|
4
|
+
prerelease: 4
|
5
|
+
version: 0.6.pre1
|
6
6
|
platform: jruby
|
7
7
|
authors:
|
8
8
|
- Andreas Tolf Tolfsen
|
@@ -13,8 +13,7 @@ autorequire:
|
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
15
|
|
16
|
-
date: 2011-
|
17
|
-
default_executable:
|
16
|
+
date: 2011-12-01 00:00:00 Z
|
18
17
|
dependencies:
|
19
18
|
- !ruby/object:Gem::Dependency
|
20
19
|
name: bundler
|
@@ -285,12 +284,13 @@ files:
|
|
285
284
|
- bin/operawatir
|
286
285
|
- lib/operadriver/APACHE_2.0_LICENSE.txt
|
287
286
|
- lib/operadriver/NEW_BSD_LICENSE.txt
|
288
|
-
- lib/operadriver/commons-
|
287
|
+
- lib/operadriver/commons-exec-1.1.jar
|
289
288
|
- lib/operadriver/commons-jxpath-1.3.jar
|
290
|
-
- lib/operadriver/guava-
|
291
|
-
- lib/operadriver/operadriver-v0.
|
289
|
+
- lib/operadriver/guava-10.0.1.jar
|
290
|
+
- lib/operadriver/operadriver-v0.8.1.jar
|
291
|
+
- lib/operadriver/operalaunchers-0.3.jar
|
292
292
|
- lib/operadriver/protobuf-java-2.4.1.jar
|
293
|
-
- lib/operadriver/selenium-
|
293
|
+
- lib/operadriver/selenium-java-2.13.0.jar
|
294
294
|
- lib/operawatir.rb
|
295
295
|
- lib/operawatir/actions.rb
|
296
296
|
- lib/operawatir/browser.rb
|
@@ -538,7 +538,6 @@ files:
|
|
538
538
|
- utils/formatters/new_spartan_formatter.rb
|
539
539
|
- utils/formatters/operahelper_formatter.rb
|
540
540
|
- utils/formatters/spartan_formatter.rb
|
541
|
-
has_rdoc: true
|
542
541
|
homepage: http://www.opera.com/developer/tools/operawatir/
|
543
542
|
licenses: []
|
544
543
|
|
@@ -556,13 +555,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
556
555
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
557
556
|
none: false
|
558
557
|
requirements:
|
559
|
-
- - "
|
558
|
+
- - ">"
|
560
559
|
- !ruby/object:Gem::Version
|
561
|
-
version:
|
560
|
+
version: 1.3.1
|
562
561
|
requirements: []
|
563
562
|
|
564
563
|
rubyforge_project: operawatir
|
565
|
-
rubygems_version: 1.
|
564
|
+
rubygems_version: 1.8.9
|
566
565
|
signing_key:
|
567
566
|
specification_version: 3
|
568
567
|
summary: Toolkit for automating interactions with the Opera web browser.
|
Binary file
|
Binary file
|
Binary file
|