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
your testers.
The AcceptanceTester
file, in the _support/
folder
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 login()
, logout()
,
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 echo()
, 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...

Premium article
ict.social is a large database made up of manuals and tutorials, whose main goal is to provide high-quality IT education to everyone. We started out in the Czech republic, where we display roughly a million articles per month and receive plenty of gratitude from our users. Thanks to our successful establishment, we are now bringing these articles to the rest of the world.
Although we are trying to keep our content free of charge, maintaining the site is a huge effort for everyone involved. Therefore, some content (exercises and more advanced material) costs network points. Don't worry, they're really cheap :)
Article description
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.
Buying this article gives you unlimited access to it forever. You will learn some more and help us keep giving our site maintenance which helps you and others get better futures. It's a win-win.
This article is licensed: Premium III, by buying this article, you agree with the terms of use.
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.
You can get points immediately using:
![]() |
![]() |
![]() |
Credit card | SMS | Wire transfer |