Skip to content

Add a 'dom' or 'elements' method to qualify assertions? #38

@mltsy

Description

@mltsy

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:

  1. 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 call there)
  2. 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 of chai-webdriverio and have no failure, because .visible just returns undefined, like this: False Positives #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 😉

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions