Codeception / Codeception/module-webdriver

Suggestion: Make `amOnPage()` wait for JavaScript to finish by default

Open
#151 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
PHP
Stars
39
Forks
25
PR merge metrics
No merged PRs in 30d

Description

Starting point: Everybody always wants JavaScript to finish, before performing any action/assertion on the page, right?
At least my usual pattern is:
```php
$I->amOnPage('/');
$I->waitForJS('return document.readyState === "complete";', 5); // https://gist.github.com/pastuhov/43674b195dc293ffd847
```

So I thought about ways to simplify this. My first idea was to introduce a new method, something like `waitForJSToComplete()`.

But now, I think it's even better to include this in `amOnPage()`, by introducing a second parameter:
```php
public function amOnPage($page, bool $waitTillJSIsComplete = true): void
```
This would be a BC break.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.