Lesson 18 - PHP Testing - Acceptance tests of commercial applications I
In the previous lesson, PHP Testing - Useful AcceptanceTester class extensions, we showed how to extend the
AcceptanceTester
class of the Codeception framework. So we know how
to use our own actions to test web applications with Selenium and even directly
call native functions of the Selenium core. In today's PHP tutorial, we're going
to look at a few methods I've picked for you from real commercial applications,
mainly from the ICT.social's system. They contain interesting techniques for
clicking on various elements, searching items in tables, controlling the TinyMCE
WYSIWYG editor, filling in a payment gateway form (by bypassing several robot
protections) and more. I'm sure, it'll serve you as a good inspiration and save
you a lot of time, because to create them and make them work properly took quite
a long time
Preface to waiting
To begin with, I'd like to add, that the tests listed here use the
AcceptanceTester
extensions which we showed in the previous lesson,
and the sleep()
action we showed earlier in the course. And
finally, since we usually have to wait for a while after displaying dialogs or
after pages load, the tests use utility methods ending with
AndWait()
, which trigger the standard action and also wait a while
by using sleep()
. Their implementation can look, for example, like
this:
public function openAndWait($page) { $this->amOnPage($page); $this->sleep(self::SLEEP_TIME); }
It's better to set the sleep time with a constant so it can be modified easily, see
...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:
In this tutorial, we'll return to the problems with waiting and show several interesting test codes from real commercial PHP applications.
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 |