The Thucydides Reference Manual

John Ferguson Smart ()
Revision History
Revision 0.9.229 January 2014 JFS

1. Introducing Thucydides
2. Basic concepts of Acceptance and Regression Testing
3. Getting started with Thucydides
3.1. Creating a new Thucydides project
3.2. Setting custom web driver capabilities
4. Writing Acceptance Tests with Thucydides
4.1. Organizing your requirements
5. Defining high-level tests
5.1. Defining high-level tests in easyb
5.2. Defining high-level tests in JUnit
5.3. Adding tags to test cases
5.4. Running Thucydides in different browsers
5.5. Forcing the use of a particular driver in a test case or test
6. Writing Acceptance Tests with JBehave
6.1. JBehave and Thucydides
6.2. Working with JBehave and Thucydides
6.3. Setting up your project and organizing your directory structure
6.4. JBehave Maven Archetype
6.5. Running all tests in a single browser window
7. Implementing Step Libraries
7.1. Creating Step Libraries
8. Defining Page Objects
8.1. Using pages in a step library
8.2. Opening the page
8.3. Working with web elements
8.4. Working with Asynchronous Pages
8.5. Executing Javascript
8.6. Uploading files
8.7. Using Fluent Matcher expressions
8.8. Running several steps using the same page object
8.9. Switching to another page
9. Advanced JIRA Integration
9.1. JIRA Integration plugins
9.2. Reporting on versions
9.3. Using JIRA versions
9.4. Retrieving manual test results from Zephyr
10. Spring Integration
11. Thucydides Report Configuration
12. Converting existing xUnit, specFlow and Lettuce test cases into Thucydides report
13. Running Thucydides tests from the command line
13.1. Providing your own Firefox profile
14. Integrating with issue tracking systems
14.1. Basic issue tracking integration
15. Using Thucydides tags
15.1. Writing a Thucydides tags plugin
15.2. Bi-directional JIRA integration
16. Managing screenshots
16.1. Configuring when screenshots are taken
16.2. Using annotations to control screenshots
16.3. Taking screenshots at any arbitrary point during a step
16.4. Increasing the size of screenshots
16.5. Saving raw screenshots
16.6. Saving HTML source files for screenshots
16.7. Blurring sensitive screenshots
17. Managing state between steps
18. Data-Driven Testing
18.1. Data-Driven Tests in JUnit
18.2. Reporting on data-driven web tests
18.3. Running data-driven tests in parallel
18.4. Data-driven testing using CSV files
18.5. Using data-driven testing for individual steps
19. Running Thucydides tests in parallel batches
19.1. Test count based batch strategy
20. Experimental features
20.1. Integration with FluentLineum
20.2. Shortcut for the element() method
20.3. Retrying failed tests
20.4. Using Step methods to document test cases
21. Further Reading

List of Figures

2.1. A test report generated by Thucydides
5.1. Pending tests are shown with the calendar icon
5.2. Tag types appear on top. Each tag type displays the tag names.
6.1. A Thucyides project using JBehave can organize the stories in an appropriate directory structure
6.2. You can see the requirements that you need to implement n the requirements report
6.3. Narrative with asciidoc formatting
6.4. You can see the requirements that you need to implement in the requirements report
8.1. The results page for the Maven Central search page
8.2. Conditional expressions are displayed in the test reports
9.1. Manual test results imported from Zephyr
11.1. Thucydides test reports in the Maven site
16.1. A lightly blurred screenshot
16.2. A medium blurred screenshot
16.3. A heavily blurred screenshot
20.1. HTML formatted text, if passed to a step method will be displayed as shown. This can be useful for annotating or documenting the tests with helpful information.