Wednesday, 14 October 2015

Python Webdriver perform mouseover - hover over an element

Follow simple example below done on site http://www.flipkart.com/. Mouseover is done over menu item ELECTRONICS. Have fun

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
#
driver = webdriver.Firefox()
#
# Test Page = http://www.flipkart.com/
#
driver.get('http://www.flipkart.com')
#
electronics_lnk = driver.find_element_by_xpath('/html/body/div[1]/div[1]/div[2]/div[2]/div/div/ul/li[1]/a/span')
#
hover = ActionChains(driver).move_to_element(electronics_lnk)
driver.implicitly_wait(5)
#
# Pop-up msg appears we need to get rid of it via ESCAPE key
hover.send_keys(webdriver.common.keys.Keys.ESCAPE)
#
driver.implicitly_wait(5)
# mouseover is performed over menu ELECTRONICCS
hover.perform()

Monday, 24 August 2015

Python with Webdriver - launch Firefox and Chrome browser

def setUp_and_login(browser):
        '''
        Supported browsers are: firefox; chrome
        '''
        #
        if browser == 'firefox':
            driver = webdriver.Firefox()
        elif browser == 'chrome':
            driver = webdriver.Chrome('Location of Chromedriver utility')
        else:
            print('')
            print('Browser not recognized, exiting...')
            print('')
            exit()



Sunday, 16 August 2015

Purpose of self in Python

from selenium import webdriver
#
Class MyClass:
    def function(self):
        self.driver = webdriver.Firefox()

What is the purpose of SELF here:
"
self is an object reference to the object itself, therefore, they are same. Python methods are not called in the context of the object itself. self in Python may be used to deal with custom object models or something.
"

"
The self variable refers to the object itself.
"

Source:
http://stackoverflow.com/questions/2709821/what-is-the-purpose-of-self-in-python
 

Sunday, 9 August 2015

Python Modules - how to find location of module sources

Let's assume we want to find the source of Python module Selenium.

In Python Shell:

>>> import selenium
>>>
>>> selenium.__file__
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/selenium/__init__.pyc'
>>>

Thursday, 11 June 2015

Python & Webdriver - Resize & Maximize Browser window

# Import modules
from selenium import webdriver
#
# get initial window size
driver = webdriver.Firefox()
print driver.get_window_size()
#
# set window size (windth, height) in pixels
driver.set_window_size(480, 320)
#
# Print new size
print(driver.get_window_size())
#
# maximize window
driver.maximize_window()
#
# Print new size
print(driver.get_window_size())
#
driver.quit()

Sunday, 31 May 2015

Python Interview Questions

Software testing - Questions and Answers - Python Interview Questions
  1. Question: How Python can be used in software testing?
    Answer:
    1. To generate test data; parse test results; generate reports; testing API calls etc.
    2. Python to extract requirements from a Word document.
    3. For testing tasks automation, setting up environments for tests, extracting performance data, etc...
    4. Testers use Python extensively in many companies with Selenium for test automation.
    5. For writing desktop applications used by testers.
    6. Test data manipulation.
    7. To build test environment
    8. Testing with IronPython on .NET
  2. Question:What Python frameworks do you know?
    Answer:Framework called Web2py, PAMIE (Python automation Module for I. E.), The py.test framework
  3. Question:What tools that helps Python development do you know?
    Answer:There are good tools for helping Python development such as Notepad++ with the PyNPP plugin and Eclipse with PyDev and PyUnit.
  4. The following is displayed by a print function call:
    yesterday
    today
    tomorrow
    Please write an example of a print function.
    Answer: print('yesterday\ntoday\ntomorrow')
  5. The following is displayed by a print function call:
    hello-how-are-you

    Please write an example of a print function.
    Answer: print('hello' + '-' + 'how' + '-' + 'are' + '-' + 'you')
  6. Question: What does the expression len('') evaluate to?
    Answer: 0
  7. Considering the following code:
    s = 'catandapple'
    Write an expression that evaluate to 'apple'.
    Answer: s[-5:]
  8. Question: Write an expression that evaluate to True
    Answer: len('aaddgg') == 6
  9. Question: Write the code that calculate the sum of even numbers from x1 till x2
  10. Question: What are "tuples"
    Answer: Tuples are immutable sequences: they cannot be modified. Tuples use parentheses instead of square brackets: tup = ('test', 5, -0.2)
  11. Question: What are the rules for legal Python names?
    Answer:
    1. Names must start with a letter or _.
    2. Names must contain only letters, digits, and _.
  12. Question: What is the dictionary tipe in Python?
    How to Access Information From Dictionaries and Modify it?
  13. To display a value in the console, what Python keyword do you use? (Print)
  14. Python file names traditionally end in what characters after a period? (.py)
  15. An if statement can have how many elif parts? (Unlimited, i.e., 0 or more)
  16. How many control objects are allowed in a frame? (Unlimited, i.e., 0 or more)
  17. When you enter text into an input field and press enter, the text is passed to the input field's event handler.
    What is the data type of the text? (string)
  18. What does the draw handler parameter represent? (The canvas)
  19. What happens if you draw text outside the canvas coordinates?
  20. You want a timer to create exactly 1000 events. Suggest any solutions.
    (Have a global counter for the number of timer calls. In the timer handler, increment the counter. In the timer handler, check the count and possibly stop the timer.)
  21. How many timers can you have running at once? (Unlimited)
  22. Give example of list - [1, 2, 3]
  23. Give example of Tuple - (1, 2, 3)
  24. Which types of data are immutable in Python? (Numbers, Tuples, Strings, Booleans)
  25. Which types of data are mutable in Python? (List)