Showing posts with label selenium. Show all posts
Showing posts with label selenium. Show all posts

BrowserStack is web cloud platform which provides us an environment to test web and mobile applications on different version combinations of OS and browsers. BrowserStack provides limited access in Free trial version but you can get full access in Paid version's different plans. Many of you already aware about it's different features and usage. But still let me introduce you with browserstack little bit.

Earlier we already learn different selenium webdriver methods to add cookie, get cookies detail by name and all cookies. Sometimes you also need to delete all cookies from your browser in selenium webdriver test. Selenium Webdriver have built in deleteAllCookies() to Delete all cookies from current running browser window in test.

Earlier we learnt how to add cookie and get cookie details using different methods like addCookie(), getCookieNamed() and getCookies(). Sometimes you also need to delete cookie. Selenium webdriver have built in methods to delete cookies by deleteCookieNamed() or passing cookie object in deleteCookie() method.

Any site can have single or multiple cookies. If you know cookie name then you can get it's detail easily using getCookieNamed(). But if there are multiple cookies and you need all of them then you need to use getCookies(). It will retrieve all cookies of site you are navigating in selenium webdriver test. Here we will learn how to get all cookies using getCookies() and extracting all cookie detail using Java Set interface and Iterate through cookie set using Iterator.

Most of all you are already aware about browser cookie. Basically cookie is piece of data that is stored in your browser. It is sent from website you visit and mostly it is used to recognize if user return to website again. In sort, It tracks your website navigation journey. Cookie consist of different parameters like name, value, expiry, path, etc. Here we will see how can we add cookie and get cookie from browser in selenium webdriver using addCookie() and getCookieNamed().

manage() method is very basic and we are using it very frequently in selenium WebDriver tests. You can use it to manage size and positions of browser window during your test. You can use it to add or delete cookie, get cookie, timeouts, waits and there are many other usages as well but here we will discuss about how to maximize browser or set it to full screen mode.

navigate() method is very frequently used method in selenium webdriver. Using this method, driver can navigate back, forward, refresh browser and navigate to specific URL. navigate() is very simple method and we can use it verify quickly in our selenium webdriver tests. Lets see how we can use navigate() method in selenium webdriver.

We can use switchTo() method when you want to switch between multiple browser windows or multiple frames on page. Earlier we had seen how to switch between two windows using getWindowHandles() and switchTo() methods. Here we will see how to switch between iFrames on page using switchTo() method by index of iFrame.

getwindowhandle() and getWindowHandles() are methods to get handle of window. getwindowhandle() is useful to get handle of current selected window or tab while getWindowHandles() will return handles of all open windows or tabs. Both these methods are useful when you are working with multiple windows and you need to switch from one window to another window.

Many new learners are initially confused about when to use close() and when to use quit() method in Selenium WebDriver. close() method will close the current instance of the webdriver object reference. In simple word, It will close current window or tab on which your test is currently running. quit() methods will dispose webdriver object so it is also known as dispose method. In simple word, quit() methods will close all open browser tabs or windows.

As name suggest, getPageSource() method is useful to get source of last loaded web page. Please note here, If web page is modified(by javascript) after loading of page then getPageSource() may return page source of before modified page. You can get whole page source using this method and then you can use it as per your requirement.

Let's see how getPageSource() method can be used in selenium test.

Selenium Webdriver's findElement() method is useful to locate WebElement for page. It is one of the mostly used method in selenium webdriver. It uses By object as parameter can can use it with various element locating strategies like ID, Name, Linktext, Partial Linktext, Tag Name, Class Name, DOM Locator, CSS Selector and Xpath. findElement() will return first matching webelement from page.

findElements method is different than the findElement method in selenium webdriver. findElements method is useful to find all elements from page using given element locator strategies.You can locate all specific elements from page using class name, css selector, id, name, link text, partial link text, tag name or xpath. findElements will return list of web elements using given locator strategy and then you can iterate through list and perform action. Lets see how it works.

We are using getTitle() method very frequently in out selenium webdriver tests. It is one of the basic and most commonly used method. getTitle() method is used to get the title of currently loaded web page. Also it will strip leading and trailing white space from title if available. Also it can return null if title of the page is not present.

Selenium WebDriver have many different methods and one of them is getCurrentUrl() method. So what is the actual usage of getCurrentUrl() method and when to use it. Well, any one can get a clue about usage of getCurrentUrl() method from its name. It will simply return current URL of browser after loading the page.

Normalize-space is very useful function in XPath when you build it with reference of some string or keyword to use it webdriver script and it has leading or trailing intermediate repeating white space. Normalize-space will strip such unwanted space or white space. In selenium webdriver, very often we use keywords reference in building xpath. If there is not any good reference to build xapth then it is mandatory to use such keywords as reference.

You can look at my post describing different ways to build xpath .

Here i am presenting one example where we will use normalize-space function to build xpath and use it in selenium webdriver test script.

So in last article we have seen how to locate the WebElement using four locators and those are Name, Id, Partial Link Text and Link Text. Now in this article we are going to see the remaining four locators. Let’s start looking at them one by one.

Locating element By Xpath:
Xpath functions are very useful functions, it help to identify the Elements from its root node as well as from anywhere in the page. As HTML can be an execution of XML (XHTML), Selenium clients can use this amazing language to target WebElement in their web applications. XPath goes beyond (and additionally supporting) the straightforward techniques for situating by id or name attributes, and opens up a wide range of new conceivable outcomes, for example, finding the third checkbox on the page.

In this article, we are going to see how we can locate the web element to perform an action on it. Web element is the elements which are present on a webpage. Button, link, images, text boxes etc. this all are called as web element.

So why do we need to locate the WebElement? The simple answer for this question is, we need to locate the address of each WebElement on which we want to perform actions. Actions like entering the text, copying the text, pressing the buttons etc. actions 

By reading the above paragraph, we hope that you got an idea why we need to locate the WebElement. Now let’s see how we can locate the WebElement.

Today we are going to see the basic things which we are going to use while making the selenium WebDriver scripts using python language. So below is some short example which we are going to see the uses of each line statement

From selenium import webdriver

From selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox ()

driver.get ( "http://www.google.com" )

Assert "Python" in driver.title

Element = driver.find_element_by_name ( " address of webelement " )

Element.clear ()

Element.send_keys ( "content text" )

Element.send_keys ( Keys.RETURN )

Assert "No results found." not in driver.page_source

driver.close ()

The above script can be saved to a file (eg: - python_org_search.py ), then you can use it like this

Today we are going to see the installation of Python in Eclipse, so that we can use the python as a scripting language for writing the script for selenium WebDriver. Before that let’s see why python is preferred over java.

Preference Python over Java with Selenium  

There is an observation that most of the times python is used with selenium due to following points:
  1. Python is favored programming language as it runs faster than Java programs.
  2. Python uses indentation which is easy to use rather than using traditional braces to start and end block of code while programming.
  3. Python is easy to code due to dynamic typing as compared to static typing in java which can increase chances of syntactical error.
  4. Python is compact and easy to handle as compared to Java.