Gordon
Collection of autotests
for Crowbar
Problem
- In cloud part of the QA Maintenance team we’re spending a lot of time on web
application tests;
- Also we need to run those tests at least twice: before and after each update;
- Usually we don’t have much time for automation because of number of
updates in our queue
So hackweek is ideal time to get our hand dirty with automation!
Goals:
- To automate repeatable web-page testing tasks
- To simulate simple user’s actions (drag&drop, form filling, etc.. )
- Create at least POC during this hackweek
- Learn more useful python tricks
Tools
Selenium
Selenium automates browsers. That's it!
Splinter
Splinter is an open source tool for testing web applications using
Python. It lets you automate browser actions, such as visiting URLs
and interacting with their items.
Why not just selenium without splinter?
To fill out a form field with Splinter:
browser.fill('username', 'janedoe')
In Selenium, the equivalent code would be:
elem = browser.find_element.by_name('username')
elem.send_keys('janedoe')
… plus
- Splinter is an abstraction layer, it supports multiple web automation backends:
- Chrome, Firefox
- Phantomjs, zope.testbrowser
Links
https://github.com/Evalle/gordon
https://hackweek.suse.com/14/projects/1384
Results
- POC was created;
- Gordon can simulate typical user behavior (drag & drop, form filling etc...) on Crowbar page;
- ~ 60 tests were written.
Still to be done:
- cover whole Crowbar page with tests;
- adapt Gordon for SUSE Cloud 5 and SUSE OpenStack Cloud 7
- get more hackers involved in this project;
- cleanup and refactoring (it’s still POC);
- put everything into container, because doh!
Contacts
Email: eshmarnev@suse.com
irc:/// Evgeny
Github: Evalle
SUSE: QAM Prague office, room #3.57
Thank you...
… and I hope that we will find all these guys

Gordon crowbar autotestsuite (2)

  • 1.
  • 2.
    Problem - In cloudpart of the QA Maintenance team we’re spending a lot of time on web application tests; - Also we need to run those tests at least twice: before and after each update; - Usually we don’t have much time for automation because of number of updates in our queue So hackweek is ideal time to get our hand dirty with automation!
  • 3.
    Goals: - To automaterepeatable web-page testing tasks - To simulate simple user’s actions (drag&drop, form filling, etc.. ) - Create at least POC during this hackweek - Learn more useful python tricks
  • 4.
  • 5.
  • 6.
    Splinter Splinter is anopen source tool for testing web applications using Python. It lets you automate browser actions, such as visiting URLs and interacting with their items.
  • 7.
    Why not justselenium without splinter? To fill out a form field with Splinter: browser.fill('username', 'janedoe') In Selenium, the equivalent code would be: elem = browser.find_element.by_name('username') elem.send_keys('janedoe')
  • 8.
    … plus - Splinteris an abstraction layer, it supports multiple web automation backends: - Chrome, Firefox - Phantomjs, zope.testbrowser
  • 9.
  • 10.
    Results - POC wascreated; - Gordon can simulate typical user behavior (drag & drop, form filling etc...) on Crowbar page; - ~ 60 tests were written.
  • 11.
    Still to bedone: - cover whole Crowbar page with tests; - adapt Gordon for SUSE Cloud 5 and SUSE OpenStack Cloud 7 - get more hackers involved in this project; - cleanup and refactoring (it’s still POC); - put everything into container, because doh!
  • 12.
    Contacts Email: eshmarnev@suse.com irc:/// Evgeny Github:Evalle SUSE: QAM Prague office, room #3.57
  • 13.
  • 14.
    … and Ihope that we will find all these guys