Re: [wtr-general] Re: Interact with Javascript Pop Up

2011-03-07 Thread Jari Bakken
On Mon, Mar 7, 2011 at 12:04 PM, Mattias Karlsson
 wrote:
>
> 1)
>  returned = @browser.alert do
>    @browser.goto('http://
> www.url.com/"+void(document.cookie="authorization=true")+alert(document.cookie)+"')
>   end
>
>   returned.should == "ok"
> # Doing positive test first
>
> but it doesn't find the alert box when it is displayed, and it is not
> working when I am setting the URL outside the block as well.
>

That's correct. If you look at the Browser#alert implementation, we
overwrite the window.alert function, and that will be gone when a new
page is loaded. This approach only works when the page doesn't change
inside the block.

> 2)
> Option two, however, does work, but only for firefox, and I would want
> it to work for all browsers with watir-webdriver.
>

You'll have to stick to Firefox for this test until WebDriver
implements the API cross-browser - it's a work in progress. You can
watch the status of this issue to follow its progress:

  http://code.google.com/p/selenium/issues/detail?id=27

Jari

-- 
Before posting, please read http://watir.com/support. In short: search before 
you ask, be nice.

watir-general@googlegroups.com
http://groups.google.com/group/watir-general
watir-general+unsubscr...@googlegroups.com


[wtr-general] Re: Interact with Javascript Pop Up

2011-03-07 Thread Mattias Karlsson


On Mar 3, 3:52 pm, Jari Bakken  wrote:
> On Thu, Mar 3, 2011 at 2:12 PM, Usman Hussain  wrote:
> > Hi Guys,
>
> > Im doing a test at the moment where when I enter in something into the
> > url it brings up a Javascript pop up.
> > Now  I do not want to turn the pop up function off by writing some
> > Javascript and then using @b.execute_script etc...
>
> > What I would LIKE to do is to somehow interact with the javascript pop
> > up and click on the button to close it.
> > Is there any way i can do it using the Watir or Webdriver Api or
> > something?
>
> > The pop up is an ALERT box.
> > I am using a MAC
> > I am using Watir-Webdriver with Cucumber
> > Ruby v1.8.7
>
> > any more info please shout.
> > Any help would be awesome.
>
> There are two ways to do this:
>
> 1. Use watir-webdriver's execute_script hacks:
>
>   require 'watir-webdriver/extensions/alert'
>
>   browser.alert do
>     # perform action that triggers alert
>   end
>
> Seehttps://github.com/jarib/watir-webdriver/blob/master/spec/alert_spec.rb
> for more examples.
>
> 2. Use WebDriver's alert handling API directly (currently Firefox-only
> and considered experimental)
>
>   # perform action that triggers alert
>   browser.driver.switch_to.alert.accept
>
> More examples of this 
> herehttp://code.google.com/p/selenium/source/browse/trunk/rb/spec/integra...
>
> Jari

-- 
Before posting, please read http://watir.com/support. In short: search before 
you ask, be nice.

watir-general@googlegroups.com
http://groups.google.com/group/watir-general
watir-general+unsubscr...@googlegroups.com


[wtr-general] Re: Interact with Javascript Pop Up

2011-03-07 Thread Mattias Karlsson
Hi, we have tried both options, the first one doesn't seem to find the
popup window when it is invoked by the browser directly, testing xss
vulnerability, instead of when invoking it in markup. For example, I
am trying this:

1)
  returned = @browser.alert do
@browser.goto('http://
www.url.com/"+void(document.cookie="authorization=true")+alert(document.cookie)+"')
   end

   returned.should == "ok"
# Doing positive test first

but it doesn't find the alert box when it is displayed, and it is not
working when I am setting the URL outside the block as well.

2)
Option two, however, does work, but only for firefox, and I would want
it to work for all browsers with watir-webdriver.

unless (@browser.driver.switch_to.alert.text.nil?)
 #raise "Javascript popup box is found, malicious code might be able
to insert on page"
end

Option one works when it is invoked from a button, but not when
javascript is invoked from browser url. Can someone please help me?

Best Regards
Matt


On Mar 3, 3:52 pm, Jari Bakken  wrote:
> On Thu, Mar 3, 2011 at 2:12 PM, Usman Hussain  wrote:
> > Hi Guys,
>
> > Im doing a test at the moment where when I enter in something into the
> > url it brings up a Javascript pop up.
> > Now  I do not want to turn the pop up function off by writing some
> > Javascript and then using @b.execute_script etc...
>
> > What I would LIKE to do is to somehow interact with the javascript pop
> > up and click on the button to close it.
> > Is there any way i can do it using the Watir or Webdriver Api or
> > something?
>
> > The pop up is an ALERT box.
> > I am using a MAC
> > I am using Watir-Webdriver with Cucumber
> > Ruby v1.8.7
>
> > any more info please shout.
> > Any help would be awesome.
>
> There are two ways to do this:
>
> 1. Use watir-webdriver's execute_script hacks:
>
>   require 'watir-webdriver/extensions/alert'
>
>   browser.alert do
>     # perform action that triggers alert
>   end
>
> Seehttps://github.com/jarib/watir-webdriver/blob/master/spec/alert_spec.rb
> for more examples.
>
> 2. Use WebDriver's alert handling API directly (currently Firefox-only
> and considered experimental)
>
>   # perform action that triggers alert
>   browser.driver.switch_to.alert.accept
>
> More examples of this 
> herehttp://code.google.com/p/selenium/source/browse/trunk/rb/spec/integra...
>
> Jari

-- 
Before posting, please read http://watir.com/support. In short: search before 
you ask, be nice.

watir-general@googlegroups.com
http://groups.google.com/group/watir-general
watir-general+unsubscr...@googlegroups.com