Post on 24-Feb-2016
description
transcript
Robot Framework – Basic Level.
Date: 2011-10-03Version: 1.0
Page 1
Robot Framework - Introduction
Robot Framework is a generic test automation framework for acceptance testing and acceptance test-driven development (ATDD).
Page 2
Robot Framework - Introduction
It has easy-to-use tabular test data syntax and utilizes the keyword-driven testing approach.
Page 3
Robot Framework - Introduction
Its testing capabilities can be extended by test libraries implemented either with Python or Java, and users can create new keywords from existing ones using the same syntax that is used for creating test cases.
Page 4
Robot Framework - Features
Enables easy-to-use tabular syntax for creating test cases in a uniform way. Allows using keyword-driven, data-driven and behavior-driven (BDD) approaches. Provides ability to create reusable higher-level keywords from the existing keywords. Provides easy-to-read reports and logs in HTML format. Is platform and application independent. The modular architecture supports creating tests even for applications with several
diverse interfaces. Provides a simple library API for creating customized test libraries. Provides a command line interface and XML based outputs for integration into existing
build infrastructure (continuous integration systems). Provides support for Selenium for web testing, Java GUI testing, running processes,
Telnet, SSH , Swing, and so on. Remote library interface enables distributed testing and implementing test libraries in
any programming language. Provides tagging to categorize and select test cases to be executed. Has built-in support for variables, practical particularly for testing in different
environments.
Page 5
How to install?
ROBOT FRAMEWORK http://code.google.com/p/robotframework/wiki/Installation
SELENIUM RC http://seleniumhq.org/docs/05_selenium_rc.html#installation
Page 6
Plugins and Libraries
FireFox: Firebug integrates with Firefox to put a wealth of development
tools at your fingertips while you browse. You can edit, debug, and monitor CSS, HTML, and JavaScript live in any web page.
XPath Checker is a Firefox Extension for testing XPath expressions interactively.
Page 7
Plugins and Libraries
ROBOT (buil in): Selenium Library (used in the workshop). SeleniumLibrary is a
Robot Framework test library that uses the popular Selenium web testing tool internally. It provides a powerful combination of simple test data syntax and support for different browsers.
Database Library Database Library is a Robot Framework test library that provides common funtionality for testing database contents.
SSH Library It enables execution of commands on a remote machine over an SSH connection. It also offers possibility to transfer files from and to a remote machine.
Swing Library SwingLibrary is a Robot Framework test library for testing Java Swing applications.
Dialogs test library Dialogs is Robot Framework's standard library that provides means for pausing the test execution and getting input from users.
Page 8
Documentation – for example SeleniumLibrary
All keywords in SeleniumLibrary that need to find an element on the page take an argument, locator.
In the most common case, locator is matched against the values of key attributes of the particular element type.
For example, id and name are key attributes to all elements, and locating elements is easy using just the id as a locator
Page 9
How to find LOCATOR?
For example button <Szukaj w Google> from www.google.pl:
1. Click RMB on button <Szukaj w Google> 2. Choose Inspect element (Zbadaj element) from menu.
Page 10
How to start using ROBOT?
1. Run Selenium Server RC (click shortcut on desktop)
or from Terminal* : java -jar /usr/local/lib/python2.6/dist-packages/SeleniumLibrary/lib/selenium-server.jar -port 4444
2. Run RIDE:Shortcut „ctrl+i” or from Terminal* type ride.py
Tips: run Terminal – Aplications>Accessories>Terminal or shortcut „ctr+~” (tylda)
Page 11
1. Step - Creating new PROJECT
1. Create NEW PROJECT (File>New Project)
and select options:
Page 12
Add Libraries to PROJECT
Choose Project_name and add three LIBRARIES:
TIPS: Selenium Library is with argument value 15 – stands for 15 seconds timeout
Page 13
Test setup and teardown
Test setup and teardown Robot Framework has similar test setup and teardown functions as many other test
automation frameworks.
In short, a test setup is something that is executed before a test case and a test teardown is executed after a test case.
Page 14
Test setup:1. Open FireFox browser2. Go to www.allegro.pl
Test case:Run all test steps
in Test Case
Test teardown:Close browser
Teardown – what for?
Page 15
What makes a test teardown special is that it is executed also when a test case fails, so it can be used for clean-up activities that must be done regardless of the test case status.
Both a setup and a teardown can also easily be specified for all test cases in a test suite, so using them avoids repetition.
2 Step – Create Test Setup
1. Click RMB on Project_name > New User Keyword
Page 16
2 Step – Create Test Setup
2. Type in table:
ff – stands for FireFox browser
Page 17
2 Step – Create Test Setup
Tips: Start typing ‚Open Br..’ and then use ‚ctr+space’ for autocompletion.
Page 18
2 Step – Create Test Teardown
1. Click RMB on Project_name > New User Keyword
2. Type in script table:
Page 19
Adding setup and teardown - success
SelectTest Setup and Test Teardown into Project Settings Page
Page 20
SAVE
Save:Hit ‚ctrl+shift+s’or click (save button):
Page 21
Create new TEST CASE
Click RMB on Project_name > New test Case
Page 22
Excrsise 1 – Steps
1. Open FF and go to www.allegro.pl (this part is in Test Setup)2. Input text ROWER in search field.3. Click submitt button <Szukaj>4. VALIDATE: Results page schould contain text ‚ROWER’
Page 23
Excrsise 1 – Steps
1. Input steps into script table:
Page 24
Run test case
1. Select RUN bookmark2. Select checkbox for test case3. Hit ‚START’ and…
Page 25
Watch the magic….
View Report and Logs
After finish test case view Report and Logs
Report and Logs opens in browser.
Page 26
Exercise 1a (variables) – Steps
1. Copy exercise 1 test case2. In script: add new row (RMB>Insert Rows)
replace Value ‚Rower’ to ${item}
Page 27
Exercise - 2
1. Step:
Page 28
Exercise - 2
2. Step:
Input Text ${item}
DropBox:‚którekolwiek ze słów’
Chcechbox: ‚Szukaj równieżw opisach’ and ‚Odbiór osobisty’
Radiobutton: ‚Wszystkie województwa’
Page 29
Exercise - 2
Page 30
Creating User keywords
1. Click RMB on <Project_name> New User Keyword
2. Named it as ‚Find item’
3. Add new Argument ${item_name}
4. Hit <OK> New Keyword appears:
Page 31
Creating User keywords
1. Select all rows from Excercise 2 – copy to clipbord (ctr+c)2. Paste it to ‚Find item’ keyowrd
`
Page 32
Exercise 3 – using user keywords
Use ‚Find item’ keyword to build script Then on Results Page delete dynamic link (shown as button)
<Odbiór osobisty>
Page 33
Exercise 3 – using user keywords
Excercise 3 script:
Page 34
Excersise 4 - Loops
Find few items in one Test Case Script for Loop is:
Page 35
How LOOP works?
1.Find zegar2.Click link
• ${item_name} = zegar
1.Find kubek2.Click link
• ${item_name} = kubek
1.Find zeszyt2.Click link
• ${item_name} = zeszyt
Page 36
The End
Page 37
Page 38