Lesson 17 - PHP Testing - Useful AcceptanceTester class extensions
In the previous lesson, PHP Testing - More Selenium WebDriver Syntax, we completed our overview of the Selenium
WebDriver syntax in Codeception. We've already mentioned that the
AcceptanceTester functionality can be easily extended and the
Codeception framework is well designed to do that. In today's tutorial, we're
going to show how to do it, and take a look at the useful methods we can add to
AcceptanceTester file, in the
almost encourages us to extend the functionality. Although Codeception is a
high-level framework, it obviously lacks functions specific to our particular
application, such as
getLastEmail() and so on. It also doesn't support communication
with the database or custom styled check-boxes and radio-buttons. To
write tests faster, it's necessary to gather as much functionality as possible
into this extension! The code is then much shorter and to cover a new
functionality with tests will take only a fraction of the time.
Printing to the debug console
Since we run the tests through the CLI (Command Line Interface), we can't use
functions such as
print_r() and the like to
print debug messages. This encourages us to implement our own method for
printing to the standard error output. This output leads to the console, and in
some operating systems it's even red. Let's add the following method to the
AcceptanceTester class in the "_support/" folder:
...End of the preview...
You've come here and that's great! We believe that the first lessons showed you something new and useful
Do you want to continue the course? Go to the premium section.
- Unlimited and permanent access to individual lessons.
- High quality IT knowledge.
- Skills to help you get your dream and well-paid job.
Requested article covers this content:
We'll extend the AcceptanceTester class of useful methods for our projects such as printing to STDERR, time, signing in, reading emails, db, CSS support.
You gain points by supporting our network. This is done by sending a helpful amount of money to support the site, or by creating content for the network.