Yadda presentation

15
Yadda + WebDriver.io Kostas Mamalis @ mamalisk Github.com / mamalisk

Transcript of Yadda presentation

Page 1: Yadda presentation

Yadda + WebDriver.io

Kostas Mamalis

@mamalisk

Github.com/mamalisk

Page 2: Yadda presentation

Automation framework

Methodology (BDD/ATDD)

Tools Evaluation & Selection

Tools integration

First Tests

Scaling, Maintenance, Sharing

Patterns

Common Pitfalls

Page 3: Yadda presentation

Yadda (github.com/acuminous/yadda)

BDD Style

Flexibility (‘define’ instead of ‘given, when, then’)

Dictionaries

Page 4: Yadda presentation

WebDriver.io

YAWF (Yet Another WebDriver Framework)…?

DSL driven & chainable:

Extensibility:

Page 5: Yadda presentation

Pitfalls

Large classes – Lack of SRP

Boilerplating within Step Definitions

Inability to Share test artifacts

Page 6: Yadda presentation

Simplify steps

Multiple definitions with different literals

Create dictionaries

Use ‘define’

Page 7: Yadda presentation

Modularization

Steps

Page 8: Yadda presentation

Modularization

Agent Missions

Using Prototypical extension

Page 9: Yadda presentation

Now I’m able to say:

Page 10: Yadda presentation

No Local Vars in Steps

Use Context!

Pass methods to the context e.g.

this.memory = {};

this.memory[‘value_to_remember’] =

‘test’;

Page 11: Yadda presentation

Modularization with Screens

Like Page Objects but only element containers:

Page 12: Yadda presentation

Now I’m able to say:

Page 13: Yadda presentation

For more examples

Github.com/mamalisk/yadda-pres

Npmjs.com agenta.js

Page 14: Yadda presentation

Reportinghttps://www.npmjs.com/package/yadda-mocha-html-reporter

Page 15: Yadda presentation

Thank you!

Twitter: @mamalisk

Github.com/mamalisk