How to get driver when pop up appears - Selenium - selenium

I am finding difficulties to get the driver when popup appears. when I click a button, then it will open another browser window. can someone give me the tips how to get the driver on the popup browser? thank you

Please review again, this may be iframe, Please inspect with fire bug properly,and if page have iframe , then code with frame related property. If you feel again problem, please share the more information about code.

You can read more about iFrames and do something like this driver.switchtoiFrame. You will have to read its HTML to find it out if thats an iFrame, else if its a Pop-up then you need to switch to that Popup first

Related

How to identify Adobe flash player pop-up window using selenium for validation?

Is there a way selenium can identify and validate a Adobe flash player pop-up window?
say, you visit this site (http://sports.coral.co.uk/#) and click on "Coral Radio" submenu under Sports Menu. It opens a Adobe pop-up window. I can validate the presence of a pop-up window opening and close it, but I want to know if there is a way to assert on some content of that window? at least the title of the page before I close it?
Thanks for responding if anyone knows how to deal with this scenario.
To switch to a popup window, you need to use driver.getWindowHandles() and iterate through them. Then you can use driver.getTitle();
I've never found a way to get any content from Flash. I've heard something about automatic screenshots in headless mode, but then you have to check it manually probably again.

Automating "Browse" button event in Selenium

I need to automate the "Browse" button click from Selenium.
For this, I have tried
driver.findElement(By.xpath("//*[#id=\"dnn_ctr383_View_filename\"]")).click();
and
driver.findElement(By.cssSelector("Css path")).click();
Both gives me org.openqa.selenium.NoSuchElementException: Unable to locate element: exception.
I have seen this link here where the author suggest to use AutoIT, but in step 2, the script, the author has created is for IE. Can someone please suggest, how I can automate the "Browse" button click in firefox?
Any help is much appreciated.
Directly send the file path to the id, like so
driver.findElement(By.id("dnn_ctr383_View_filename")).sendKeys("C:\\path\\to\\file");
The above step is the answer for your first two steps
Click on Browse
Select a file to upload
For the third step(click upload), looking at the screen capture I do not see any button which says "Upload". So just click "Save" and I assume that your file will successfully get uploaded.
There are two things that u need to consider here:
Clicking the browser button: Usually handled by an alert or popup, if the driver is not able to find the element by xpath(which u have acquired from firebug or chrome's inspect element) you should consider looking for iframes in the page source. If an element is in a different frame altogether , u need to switch frames in order to find the element like this
WebElement frame = driver.findElementById("name_of_iframe");
driver.switchTo().frame(fr);
now you can find your element using xpath or css selector like u did. Once completed u can move out of the frame by:- driver.switchTo().defaultContent();
Uploading the file from desktop: Since selenium works only on the html in the browser session u invoked from the driver, it can't perform operations on your desktop.Once you are able to click the browser button u can use Auto it(works only on windows) or Sikuli(works with mac, linux, windows and even android) to simulate your events based on the position of your upload button.
Hope this helps

Selenium cannot click tab in magento module detail page

I'm trying to validate data using selenium version 1.0.9 in magento grid and its detail page.
First, I walked through Selenium IDE from login page to module detail page and click the tabs available there. Eventually, IDE generates PHP codes so I put the code into proper location.
Note: Here, I have clicked the two tabs so that the events get recorded into selenium IDE.
Then, I run the code from command prompt using following command:
phpunit --configuration /var/www/tests/phpunit_test.xml
I got the error (something like):
ERROR: Element //a[#id='test_tabs_form_section']/span not found.
I modified the code and tried to open the detail page before executing click to above link i.e. "test_tabs_form_section", I am getting same error.
Another strange this is if I verify any text of detail page and remove the code that calls click to module detail tabs, it is works, not sure why?
But I really want to open detail page and click to tab, get forms element values using xpath and validate the data.
Can somebody help me, please?
Any help or suggestion is highly appreciable!
Looking forward to hear from stackoverflow geeks!
Thanks
In case this helps anybody:
I found out more things work if firebug is active. This actually makes sense cause firebug will show the final DOM tree in all it's debugging screens, so it's possible selenium is now able to reconstruct the element path because firebug altered the internal DOM.
If something doesn't work with the default element selection created by Selenium IDE, try switching it over to xpath:id-relative. You're already using that in your question, so maybe you there's an even better selector or you will need to resort to using clickAt instead of click.

Selenium popup support

Please give me an example java code to open a popup and move RC control to popup.
is there any way to come back on main window after checking some element on popup window.
I have few questions on this as selenium always need windowid to get control over popup.
1-What is the best way to get the windowid of any popup.
2-Should i have to search it in view sources of base page.
3-is it necessary that we must get the windowid of the each & every popup in the view source of the page. if not so what will be work-around.
4-Is window id present in any java-script function? if so ,there is one example
I didn’t get Window id of popup
script language="javascript"
begin
function popup(){
window.open('URL/to/popup.html','PopupName','toolbar=0,location=0,
status=0,menubar=0,scrollbars=0,resizable=0,width=345,height=400');
}
// end
/script
This will definitely help you. Handling Popups
Hope this helps

Unable to find popup window

I am having an issue with finding a popup window in some selenium test code. I am looking at the screen on the test runner and there are two IE windows, one of them is the popup and one of them the page which generated the popup. However selecting that window with
SelectWindow("name=SomeName")
fails. Putting a break point in there and running some diagnostics shows that
GetAllWindowNames()
returns only one window. Very odd. I have duplicated the problem in IE, chrome and firefox so I don't think it is browser specific. I am using C# to drive my tests. Any idea how I might solve this issue?
Edit:
I looked a bit more at how this page actually creates its popup by reloading itself with window.open added to its code. It is rather an odd way to open a popup but I don't see any reason why it isn't valid.
Is there title or some other attribute in popup window's source code? You can locate that using any info you find there. Try to record open popup window in Se IDE and click on something in that popup window. Usually this trick works.
IIRC, there are some situations where SElenium fails to register the window. In this case you can register the window anyway by using the openWindow(´´, ). I think this is described in the explanation of openWindow in Selenijum IDE...