Slide 1

Slide 1 text

WebSmith A Domain Specific Language (DSL) for Web Testing. Og Maciel

Slide 2

Slide 2 text

Mission statement: Make Web UI Automation Fun/Easy Again?

Slide 3

Slide 3 text

The problem Writing code for web automation can lead to lengthy code Lots of repetition for basically doing the same thing (i.e. find element, if element is found, then do something with it; wait for some event to happen)

Slide 4

Slide 4 text

Example

Slide 5

Slide 5 text

The solution Abstract most types of web interactions. Expose ‘verbs’ that are easy to understand/use: ● Go ● Select ● Check ● Hover

Slide 6

Slide 6 text

Example

Slide 7

Slide 7 text

WebSmith https://github.com/omaciel/websmith Assuming that you have a WebDriver browser object, then: from websmith.actions import Go, SendKeys from websmith.ui import Session with Session(browser): Go('https://www.google.com') SendKeys('q', 'WebSmith')

Slide 8

Slide 8 text

Thank You