operawatir 0.5.1-jruby → 0.6.pre1-jruby
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/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
|