FluentLenium

Preview:

Citation preview

1

FluentLenium, une autre façon de faire du selenium

by Mathilde Lemée@MathildeLemee

2

Mathilde Lemée

@MathildeLemee

3

Selenium

4

FluentLenium

5

1. Optimiser l'écriture

6

Selectors CSS > XPath

•find("#monId")

•find(".maClass")

•find("maBalise")

•find("input[class=rightForm]")

7

Custom Selectors

•find(".small", withName("foo"))

•find(".small", withId("idOne"))

•find(".small", withText("This field")

•find(".small", withId().notStartsWith("id"))

•find(".small", withName().contains(regex("na?me[0-9]*"))

8

Selectors

•findFirst(myCssSelector)

•find(myCssSelector, 2)

•find(myCssSelector, 2, withName("foo"))

•find(myCssSelector, 2, withName("foo")).find("input", withName("bar"))

9

II. Faciliter les interactions

10

Actions•click("#create-button")

•clear("#firstname")

•submit("#account")

•fill("#firstname").with("Mathilde")

•find("#monId").click()

•executeScript("alert('Devoxx');");

11

III. Garantir la maintenance

12

13

// If you're reading this, that means you have been put in charge of my previous project.

// I am so, so sorry for you. God speed.

14

Page Object Pattern

15

16

17

IV. Améliorer la gestion AJAX

18

19

20

21

V. Simplifier les assertions

22

23

VI. Jquery Style

24

25

http://www.fluentlenium.org

Merci@MathildeLemee