25
1 FluentLenium, une autre façon de faire du selenium by Mathilde Lemée @MathildeLemee

FluentLenium

Embed Size (px)

Citation preview

Page 1: FluentLenium

1

FluentLenium, une autre façon de faire du selenium

by Mathilde Lemée@MathildeLemee

Page 2: FluentLenium

2

Mathilde Lemée

@MathildeLemee

Page 3: FluentLenium

3

Selenium

Page 4: FluentLenium

4

FluentLenium

Page 5: FluentLenium

5

1. Optimiser l'écriture

Page 6: FluentLenium

6

Selectors CSS > XPath

•find("#monId")

•find(".maClass")

•find("maBalise")

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

Page 7: FluentLenium

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]*"))

Page 8: FluentLenium

8

Selectors

•findFirst(myCssSelector)

•find(myCssSelector, 2)

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

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

Page 9: FluentLenium

9

II. Faciliter les interactions

Page 10: FluentLenium

10

Actions•click("#create-button")

•clear("#firstname")

•submit("#account")

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

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

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

Page 11: FluentLenium

11

III. Garantir la maintenance

Page 12: FluentLenium

12

Page 13: FluentLenium

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.

Page 14: FluentLenium

14

Page Object Pattern

Page 15: FluentLenium

15

Page 16: FluentLenium

16

Page 17: FluentLenium

17

IV. Améliorer la gestion AJAX

Page 18: FluentLenium

18

Page 19: FluentLenium

19

Page 20: FluentLenium

20

Page 21: FluentLenium

21

V. Simplifier les assertions

Page 22: FluentLenium

22

Page 23: FluentLenium

23

VI. Jquery Style

Page 24: FluentLenium

24

Page 25: FluentLenium

25

http://www.fluentlenium.org

Merci@MathildeLemee