Hi Ethan,
I tried below code:
require 'watir-vapir'
ff = Vapir::Firefox.new
ff.start("www.google.com")
After executing above code, A new instance of firefox opened and got
following error. Could you please tell me why i'm getting this error?
C:/Ruby/lib/ruby/gems/1.8/gems/vapir-firefox-1.7.0/lib/vapir-firefox/jssh_socket.rb:118:in
`initialize': Something went wrong loading Prototype - message "SyntaxError:
unterminated comment\n> SyntaxError: return not in function\n> TypeError:
this.getUTCMonth is not a function\n> SyntaxError: syntax error\n>
SyntaxError: return not in function\n> SyntaxError: syntax error\n>
SyntaxError: syntax error\n> \n> SyntaxError: syntax error\n> \n>
SyntaxError: syntax error\n> \n> SyntaxError: syntax error\n> \n> function
() {\n if (!this.currentlyExecuting) {\n try {\n
this.currentlyExecuting = true;\n this.execute();\n }
catch (e) {\n } finally {\n this.currentlyExecuting =
false;\n }\n }\n}\n> SyntaxError: syntax error\n> SyntaxError:
syntax error\n> SyntaxError: invalid label\n> SyntaxError: invalid label\n>
SyntaxError: invalid label\n> SyntaxError: invalid label\n> SyntaxError:
invalid label\n> SyntaxError: invalid label\n> SyntaxError: syntax error\n>
SyntaxError: syntax error\n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n>
\n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> SyntaxError: unterminated
comment\n> ReferenceError: document is not defined\n> TypeError:
this.replace is not a function\n> SyntaxError: return not in function\n>
SyntaxError: invalid label\n> SyntaxError: missing ; before statement\n>
SyntaxError: syntax error\n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n>
\n> \n> \n> \n> \n> \n> \n> \n> SyntaxError: unterminated comment\n>
SyntaxError: return not in function\n> SyntaxError: syntax error\n> \n> \n>
\n> \n> \n> ReferenceError: reference to undefined XML name *::*\n> \n> \n>
\n> \n> \n> \n> \n> \n> \n> \n> \n> SyntaxError: return not in function\n>
SyntaxError: invalid label\n> SyntaxError: invalid label\n> SyntaxError:
invalid label\n> SyntaxError: invalid label\n> SyntaxError: invalid label\n>
\n> SyntaxError: invalid label\n> SyntaxError: invalid label\n> SyntaxError:
invalid label\n> SyntaxError: invalid label\n> SyntaxError: invalid label\n>
\n> \n> \n> \n> SyntaxError: invalid label\n> SyntaxError: invalid label\n>
SyntaxError: invalid label\n> SyntaxError: syntax error\n> SyntaxError:
syntax error\n> SyntaxError: return not in function\n> SyntaxError: syntax
error\n> SyntaxError: return not in function\n> SyntaxError: syntax error\n>
SyntaxError: syntax error\n> \n> function (object) {\n if (object &&
Object.isFunction(object.toTemplateReplacements)) {\n object =
object.toTemplateReplacements();\n }\n return
this.template.gsub(this.pattern, function (match) {if (object == null)
{return match[1] + \"\";}var before = match[1] || \"\";if (before ==
\"\\\\\") {return match[2];}var ctx = object, expr = match[3];var pattern =
/^([^.[]+|\\[((?:.*?[^\\\\])?)\\])(\\.|\\[|$)/;match = pattern.exec(expr);if
(match == null) {return before;}while (match != null) {var comp =
match[1].startsWith(\"[\") ? match[2].gsub(\"\\\\\\\\]\", \"]\") :
match[1];ctx = ctx[comp];if (null == ctx || \"\" == match[3]) {break;}expr =
expr.substring(\"[\" == match[3] ? match[1].length : match[0].length);match
= pattern.exec(expr);}return before + String.interpret(ctx);});\n}\n>
SyntaxError: syntax error\n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n>
\n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n>
\n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> SyntaxError: return not
in function\n> SyntaxError: invalid label\n> SyntaxError: invalid label\n>
SyntaxError: invalid label\n> SyntaxError: invalid label\n> SyntaxError:
invalid label\n> SyntaxError: invalid label\n> SyntaxError: invalid label\n>
SyntaxError: invalid label\n> SyntaxError: invalid label\n> SyntaxError:
invalid label\n> SyntaxError: invalid label\n> SyntaxError: invalid label\n>
SyntaxError: invalid label\n> SyntaxError: invalid label\n> SyntaxError:
invalid label\n> SyntaxError: syntax error\n> SyntaxError: syntax error\n>
SyntaxError: return not in function\n> SyntaxError: return not in
function\n> ReferenceError: iterable is not defined\n> \n> SyntaxError:
return not in function\n> SyntaxError: syntax error\n> SyntaxError: return
not in function\n> ReferenceError: string is not defined\n> SyntaxError:
return not in function\n> SyntaxError: syntax error\n> \n> \n> \n> \n> \n>
\n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n>
\n> \n> \n> \n> \n> \n> SyntaxError: unterminated comment\n> \n> \n>
SyntaxError: return not in function\n> SyntaxError: syntax error\n> \n> \n>
\n> \n> \n> \n> \n> ReferenceError: Enumerable is not defined\n> \n>
function reverse() {\n [native code]\n}\n> \n> TypeError: Object.extend
is not a function\n> \n> \n> \n> \n> \n> \n> \n> SyntaxError: syntax
error\n> SyntaxError: return not in function\n> SyntaxError: syntax error\n>
\n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n> \n>
\n> \n> \n> \n> \n> \n> \n> \n> \n> SyntaxError: unterminated comment\n>
SyntaxError: return not in function\n> SyntaxError: syntax error\n> \n> \n>
\n> SyntaxError: return not in function\n> SyntaxError: invalid label\n>
SyntaxError: invalid label\n> SyntaxError: invalid label\n> SyntaxError:
invalid label\n> SyntaxError: invalid label\n> SyntaxError: invalid label\n>
SyntaxError: invalid label\n> \n> function clone() {\n return new
Hash(this);\n}\n> SyntaxError: syntax error\n> SyntaxError: syntax error\n>
\n> \n> \n> \n> \n> \n> \n> \n> SyntaxError: unterminated comment\n>
SyntaxError: return not in function\n> SyntaxError: syntax error\n> \n> \n>
\n> \n> \n> \n> \n> \n> \n> SyntaxError: return not in function\n>
SyntaxError: invalid label\n> SyntaxError: invalid label\n> \n> SyntaxError:
invalid label\n> SyntaxError: invalid label\n> SyntaxError: syntax error\n>
SyntaxError: syntax error\n> SyntaxError: return not in function\n>
SyntaxError: syntax error\n> \n> \n> \n> \n> \n> \n> SyntaxError: return not
in function\n> SyntaxError: invalid label\n> function include(value) {\n
if (value < this.start) {\n return false;\n }\n if
(this.exclusive) {\n return value < this.end;\n }\n return
value <= this.end;\n}\n> SyntaxError: syntax error\n> SyntaxError: syntax
error" (JsshError)
from
C:/Ruby/lib/ruby/gems/1.8/gems/vapir-firefox-1.7.0/lib/vapir-firefox/firefox.rb:105:in
`new'
from
C:/Ruby/lib/ruby/gems/1.8/gems/vapir-firefox-1.7.0/lib/vapir-firefox/firefox.rb:105:in
`initialize_jssh_socket'
from
C:/Ruby/lib/ruby/gems/1.8/gems/vapir-firefox-1.7.0/lib/vapir-firefox/firefox.rb:111:in
`jssh_socket'
from
C:/Ruby/lib/ruby/gems/1.8/gems/vapir-firefox-1.7.0/lib/vapir-firefox/firefox.rb:123:in
`jssh_socket'
from
C:/Ruby/lib/ruby/gems/1.8/gems/vapir-firefox-1.7.0/lib/vapir-firefox/firefox.rb:171:in
`initialize'
from
C:/Ruby/lib/ruby/gems/1.8/gems/vapir-common-1.7.0/lib/vapir-common/waiter.rb:127:in
`try_for'
from
C:/Ruby/lib/ruby/gems/1.8/gems/vapir-firefox-1.7.0/lib/vapir-firefox/firefox.rb:169:in
`initialize'
from vap.rb:4:in `new'
from vap.rb:4
>Exit code: 1
Thank You
Amit Kumar
On Wed, Aug 11, 2010 at 9:03 PM, Ethan <[email protected]> wrote:
> Same as the Watir API:
>
> Vapir::Browser.attach(:title, "the title")
> or
> Vapir::Browser.attach(:title, /part of the title/)
> or
> Vapir::Browser.attach(:url, /foobar.html/)
>
> If you want to continue using the watir namespace so that you don't have to
> modify your existing code extensively, you can do so using the "watir-vapir"
> require - see http://wiki.github.com/vapir/vapir/coming-from-watir for
> more information.
>
>
> On Wed, Aug 11, 2010 at 07:50, Amit <[email protected]> wrote:
>
>> Hi Ethan,
>>
>> Can you please explain how can i integrate Vapir in my Watir framework? I
>> just want to use attach method from vapir.
>>
>> Can you show me sample command for attaching a window in Vapir?
>>
>> Thank you
>>
>>
>> On Tue, Aug 3, 2010 at 5:13 AM, Ethan <[email protected]> wrote:
>>
>>> Vapir should be almost entirely compatible with Watir, so a framework
>>> written for Watir should not require much change, if any, to work with
>>> Vapir. see
>>>
>>> http://wiki.github.com/vapir/vapir/coming-from-watir
>>>
>>> and
>>>
>>> http://wiki.github.com/vapir/vapir/differences-from-watir-api
>>>
>>>
>>> On Wed, Jul 28, 2010 at 02:06, Amit Kumar <[email protected]> wrote:
>>>
>>>> Hi Ethan,
>>>>
>>>> My whole framework has been written in Watir.. So, at this point i can't
>>>> use Vapir.
>>>>
>>>> Guys, is there any other solution to attach multiple browser at a time?
>>>>
>>>> Thank You
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Mon, Jul 26, 2010 at 10:58 PM, Ethan <[email protected]> wrote:
>>>>
>>>>> I'd recommend Vapir-Firefox, which is a fork of FireWatir which I have
>>>>> updated and improved a lot. See the site for Vapir at
>>>>> http://vapir.org/
>>>>>
>>>>> -Ethan
>>>>>
>>>>> On Mon, Jul 26, 2010 at 07:07, Amit Kumar <[email protected]> wrote:
>>>>>
>>>>>> Hi All!
>>>>>>
>>>>>> I'm using Firewatir 1.6.5
>>>>>> I want to test an web application which open a pop up window.
>>>>>> I want to attach this pop up window with firewatir. So, i have written
>>>>>> below code:
>>>>>>
>>>>>> require 'firewatir'
>>>>>> ff =FireWatir::Firefox.new
>>>>>> ff.goto("www.example.com")
>>>>>> ff.link(:text,"Pop_up).click
>>>>>> ff2= FireWatir::Firefox.attach(:title,"New Pop Up Window")
>>>>>>
>>>>>> Now, the problem is... After attaching new pop up window, firewatir
>>>>>> loose control over parent window. It remember only pop up window which
>>>>>> have
>>>>>> attached recently and forget parent window. So, i can't access parent
>>>>>> application anymore.
>>>>>>
>>>>>> eg: puts ff.title ==> "New Pop Up Window"
>>>>>> puts ff2.title ==> "New Pop Up Window"
>>>>>>
>>>>>> It doesn't return window title of parent window.
>>>>>>
>>>>>> Any comments or solution??
>>>>>>
>>>>>> Thank You
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Before posting, please read http://watir.com/support. In short:
>>>>>> search before you ask, be nice.
>>>>>>
>>>>>> You received this message because you are subscribed to
>>>>>> http://groups.google.com/group/watir-general
>>>>>> To post: [email protected]
>>>>>> To unsubscribe:
>>>>>> [email protected]<watir-general%[email protected]>
>>>>>>
>>>>>
>>>>> --
>>>>> Before posting, please read http://watir.com/support. In short: search
>>>>> before you ask, be nice.
>>>>>
>>>>> You received this message because you are subscribed to
>>>>> http://groups.google.com/group/watir-general
>>>>> To post: [email protected]
>>>>> To unsubscribe:
>>>>> [email protected]<watir-general%[email protected]>
>>>>>
>>>>
>>>> --
>>>> Before posting, please read http://watir.com/support. In short: search
>>>> before you ask, be nice.
>>>>
>>>> You received this message because you are subscribed to
>>>> http://groups.google.com/group/watir-general
>>>> To post: [email protected]
>>>> To unsubscribe:
>>>> [email protected]<watir-general%[email protected]>
>>>>
>>>
>>> --
>>> Before posting, please read http://watir.com/support. In short: search
>>> before you ask, be nice.
>>>
>>> You received this message because you are subscribed to
>>> http://groups.google.com/group/watir-general
>>> To post: [email protected]
>>> To unsubscribe:
>>> [email protected]<watir-general%[email protected]>
>>>
>>
>> --
>> Before posting, please read http://watir.com/support. In short: search
>> before you ask, be nice.
>>
>> You received this message because you are subscribed to
>> http://groups.google.com/group/watir-general
>> To post: [email protected]
>> To unsubscribe:
>> [email protected]<watir-general%[email protected]>
>>
>
> --
> Before posting, please read http://watir.com/support. In short: search
> before you ask, be nice.
>
> You received this message because you are subscribed to
> http://groups.google.com/group/watir-general
> To post: [email protected]
> To unsubscribe:
> [email protected]<watir-general%[email protected]>
>
--
Before posting, please read http://watir.com/support. In short: search before
you ask, be nice.
You received this message because you are subscribed to
http://groups.google.com/group/watir-general
To post: [email protected]
To unsubscribe: [email protected]