chai-webdriverio
chai-webdriverio copied to clipboard
Add a 'dom' or 'elements' method to qualify assertions?
chai-webdriver
uses a .dom
flag to start the assertion chain, like this:
expect(...).dom.to.be.there
This library was originally designed without that, because it's a somewhat awkward token, syntactically. However, there are 2 good reasons for having some such unique flag to start the chain:
- It namespaces the assertions. If we had such a flag, we could use any name for our assertions (including
exist
, which we had to avoid, and callthere
) - When
chai-webdriverio
is not defined, it would cause the test to fail even if the assertion is called without parenthesis. Without it, you can call.visible
outside the scope ofchai-webdriverio
and have no failure, because.visible
just returnsundefined
, like this: https://github.com/marcodejongh/chai-webdriverio/issues/37
Possible names for this flag:
-
.dom
(to match 'chai-webdriverio`) -
.wdio
-
.elements
-
.element
(potentially, we could offer both elements and element, and use the respective webdriverio method) -
.html
... ? This isn't quite right - I'm basically out of ideas that actually make sense :wink: