hjwp / hjwp/Book-TDD-Web-Dev-Python

ch11l032 - Typo in the test / issue with wait_for + truthiness

Open
#116 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
514
Forks
175
PR merge metrics
No merged PRs in 30d

Description

In `ch11l032`, this is introduced, to test the HTML5 validation:

```python
self.wait_for(lambda: self.browser.find_elements_by_css_selector(
'#id_text:invalid'
))
```

However, it isn't testing anything.

Because we are using `find_elementS_by_css_selector(...)` if the element is not found an empty list will be returned and no exception will be raised. Therefore our `wait_for` immediately returns after the first try and we didn't test anything (try making it fail on purpose by looking for a different id, it won't fail).

To fix that, the solution is simple, remove the `S`. That way it'll either find that one element, or raise a `NoSuchElementException`, which is a `WebDriverException`, so our `wait_for` works as expected 🙂

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.