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)

Python Webdriver - Common Keys

In this article, I want to introduce the common keys in Webdriver. The keys are used to simulate a user entering a key on the keyboard. Back space, enter, ALT, ESCAPE; these are the types of keys I am talking about. The place where this would be useful is, for example, the enter key could be used to submit a form in a web application. In the previous Hello World example, we entered the text 'Hello World!' into a search bar and then execute the search with a separate submit command. Another way we could have achieved the same result is to include the enter key at the end of the 'Hello World!' string.

As an example, below is a script to enter text into an input element to search the Yale University course catalog. The search string we will use is 'engl1*' which should return a list of all the one hundred level english courses.

#!/usr/bin/env python                                                         
from sys import argv
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

def yale_courses(s):

        # start Firefox                                                       
        driver = webdriver.Firefox()

        # navigate to the Yale course catalog                                 
        driver.get('http://students.yale.edu/oci/search.jsp')

        # find the Course number input page element                           
        input = driver.find_element_by_name('CourseNumber')

        # Enter the search string into the input element                       
        input.send_keys(s)

        # Take a screen shot                                                   
        driver.save_screenshot('english_search')

        # Execute search                                                       
        input.send_keys(Keys.RETURN)

        # Finished                                                             
        driver.close()


if __name__=='__main__':
        course = argv[1]
        yale_courses(course)