15
QA Club N.Novgorod Java + WebDriver + TestNGЗнакомство с WebDriver

знакомство с Web driver

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: знакомство с Web driver

QA Club N.Novgorod

Java + WebDriver + TestNGЗнакомство с WebDriver

Page 2: знакомство с Web driver

О себе:

Павел Попов2 года разработки автоматизированных тестов на

Selenium/WebDriver

Automation Test Lead в Exigen Services

Один из преподавателей в

ITCollege for Junior Testers (Exigen)

Участник конференций: SQADays, SelenuimCamp

Page 3: знакомство с Web driver
Page 4: знакомство с Web driver

WebDriver

WebDriver пришел на замену Selenium RC, в 2010 году. Разработчики

WebDriver отказались от техники применения Server'а и перевода с

поддерживаемых машинных языков в JavaScript язык. Теперь WebDriver -

это вызов API функций браузера, и для каждого языка

программирования/каждого браузера описаны свои интерпретаторы.

Page 5: знакомство с Web driver

2 Попробуем?

Посмотрим своими глазами

Page 6: знакомство с Web driver

Вводный курс

Selenium IDE - легкий Firefox plugin для создания тестов на языке Selenium. Не требует знаний языков программирования, имеет дружелюбный интерфейс, позволяет автоматизированно тестировать Web страницы.

http://seleniumhq.org/projects/ide/

Page 7: знакомство с Web driver

Selenium IDE как начало пути к WebDriver

Page 8: знакомство с Web driver

Настраиваем окружение

Eclipse: http://www.eclipse.org/downloads/

JDK: http://www.oracle.com/technetwork/java/javase/downloads/index.html

TestNG: http://beust.com/eclipse

Page 9: знакомство с Web driver

Первый тест на WebDriver

Page 10: знакомство с Web driver

Domain-Specific Language

Предметно-ориентированный язык программирования (англ. domain-specific

programming language, domain-specific language, DSL) — язык программирования, специально

разработанный для решения определённого круга задач, в отличие от языков программирования общего назначения, таких, как Си, или языков

моделирования общего назначения наподобие UML и др.

Page 11: знакомство с Web driver

Пример применения DSL

@Testpublic void registerShouldBeUseLoginAndPassword(){

openApplication();setLogin("User");setPassword("12345");clickOnRegistration();assertEquals("User", getLoginNameFromHeader());

}

Page 12: знакомство с Web driver

Page Object & Page Elements

final public class PageLogin extends ElementsSet

{

/** Creates instance of accessor */

public PageLogin()

{

setFieldAccessors(fieldAccessors);

addActionAccessors(actionAccessors);

}

/**

* Types user name and password and clicks appropriate button for submit

* @param user - user name

* @param password - password

*/

public void submitCredentials(final String user, final String password)

{

changeValue(FieldId.LOGIN, user);

changeValue(FieldId.PASSWORD, password);

dispatchAction(ActionId.LOGIN);

}

/** Field IDs */

static public final class FieldId

{

/** Hidden constructor */

private FieldId(){}

static public final String LOGIN = "Login";

static public final String PASSWORD = "Password";

}

/** Field accessors. Pairs "field ID - field accessor" */

static private final Map<String, Element> fieldAccessors;

/** Action accessors. Pairs "action ID - action accessor" */

static private final Map<String, Element> actionAccessors;

static

{

//[ Field accessors

fieldAccessors = new LinkedHashMap<String, Element>();

String fieldId = FieldId.LOGIN;

String fieldLocator = "id=loginForm:j_username";

fieldAccessors.put(fieldId, new TextBox(fieldLocator));

МНОГО

БУКАФ

Page 13: знакомство с Web driver

Page Object & Page Elements

• type• getValue• focus• clear• isEditable• ...

TextBox

• click• isEnabled• doubleClick• ...

Button

• check• uncheck• isChecked• click• ...

CheckBox

Form Menu Table Panel ...

Page 14: знакомство с Web driver

Refactoring

Page 15: знакомство с Web driver

Не стесняемся задавать любые вопросы ;)

Вопросы

Спасибо, что не спите :)