A workshop targeted to testers of web applications. In this course, participants learn how to control web browser using Selenium and write tests in Robot Framework or Python. Robot Framework is a simple DSL that is easier than Python to learn for less advanced testers. On top of that, participants learn how to work with files, regular expressions and databases.

At this workshop you will learn:

  • How to write tests in Robot Framework?
  • How to develop Robot Framework libraries?
  • How to test web applications with Selenium in two ways – with Python and with Robot Framework.
  • How to write tests with unittest library.
  • How regular expressions can be useful?
  • How to work with databases with SQLAlchemy?
  • How to test forms on websites?
  • And much, much more.

Course Syllabus

  1. Introduction to Robot Framework
    1. Testing an Example Command Line Authentication App
    2. Test Cases
    3. User Keywords
    4. BDD Style (given-when-then)
    5. Variables
    6. Templates
    7. Setup & Teardown
    8. Using Builtin Libraries
    9. Tags
    10. Working with Multiple `.robot` Files
    11. Creating User Libraries with Python
    12. Good Practices
  2. Robot Framework & Selenium
    1. Testing an Example Web Authentication App
    2. Proper Setup & Teardown
    3. Working with Forms
    4. Selenium Specific Assertions
    5. Good Practice
  3. Basics of Python
    1. Builtin Types: Tuples and Lists
    2. Creating Functions
    3. Assertions
    4. String Formatting
    5. Basics of Object Oriented Programming
  4. Testing in Python with unittest library
    1. Running Tests in Shell
    2. Running Tests in Jupyter Notebook
    3. Setup & Teardown
    4. Assertions
    5. Skipping Tests
    6. Subtests
  5. Using Selenium in Python
    1. Testing an Example Web Authenticatino App
    2. Navigating
    3. Locating Elements
    4. Working with Forms
    5. Cookies
    6. Assertions
    7. Implicit & Explicit Waits
    8. Proper Setup & Teardown
  6. Advanced Python
    1. Error Handling
    2. Builtin Types: Strings & Dictionaries
    3. Writing Command Line Tools
    4. List Comprehension
  7. Working with Files
    1. Managing Filesystem
    2. File Handling Principles
    3. Processing File Content
    4. Processing .csv Files
    5. Converting Apache Access Logs to .csv File
  8. Regular Expressions
    1. Regexp Syntax Cheat Sheet
    2. Basic of Regexp Syntax
    3. Extracting Data with Unnamed and Named Groups
    4. Quantifiers
    5. Character Classes
    6. Parsing Apache Access Logs
  9. Working with Databases – SQLAlchemy
    1. Connecting to a Database
    2. Defining and Creating Tables
    3. Inserting new Records
    4. Sessions
    5. Bulk Insertion
    6. Rolling Back Transactions
    7. Querying
    8. Ordering & Limiting
    9. Filtering
    10. Composing Filter Conditions
    11. Basics of Aggregation
    12. Relationships
    13. Queries with Joins
    14. Deleting Records