AT.info ПОСИДЕЛКИ  vKontakte   facebook группа  
С#

WebDriver: Основные команды

В данной заметке я хочу привести описание и примеры основных (на мой взгляд) команд в Selenium 2.0 WebDriver для автоматизации функционального тестирования web-приложений. В данной заметке я рассказывал, что собой представляет WebDriver. А в данной заметке можно посмотреть пример простейшего тестового сценария на WebDriver и основную вводную информацию про данный инструмент автоматизированного тестирования. Примеры будут представлены на C# Driver, версия библиотек – 2.9.0.

Доступ к основным функциям WebDriver предоставляет одноименная сборка WebDriver. Интерфейс IWebDriver является базовым классом, его методы можно разделить на три категории: Control of the browser (OpenQA.Selenium.IWebElement) – методы для работы с элементами страницы, Key properties and methods (OpenQA.Selenium.IWebDriver.Url) – методы для навигации, установки параметров и т.д., и другие вспомогательные методы (например OpenQA.Selenium.ISearchContext.FindElement). Непосредственно за работу с элементами страницы отвечает интерфейс IWebElement. Так как в WebDriver каждый браузер имеет свой драйвер (список поддерживаемых драйверов), то для каждого драйвера предполагается наличие собственной реализации WebElement. Например, ChromeWebElement для Chrome, FirefoxWebElement для FF и т.д. То есть для каждого поддерживаемого браузера предусмотрен свой нативный интерфейс. Также в WebDriver есть HtmlUnitDriver – кроссплатформенный виртуальный браузер. Примерчики инициализации:

Объявляем драйвер:

IWebDriver driver = new DriverName();
     driver.<user hits space>

Поиск элемента:

IWebElement element = driver.findElement(By.id("some_id"));

В новой версии Selenium организован улучшенный механизм поиска элементов страницы. Перед обращением к элементу страницу необходимо сперва вызвать метод поиска с указанием типа локатора. Также есть метод для поиска группы элементов findElements (By by). В WebDriver доступна работа со следующими типами локаторов: id, name, xpath, tagName, className, cssSelector, linkText, partionalLinkText. Пример инициализации и поиска элемента с использованием разных типов локаторов:

IWebElement element;
     element = driver.FindElement(By.Id("LoginControl_LoginButton"));
     element = driver.FindElement(By.Name("LoginControl$LoginButton"));
     element = driver.FindElement(By.XPath("//tr/td[3]/input[@id='LoginControl_LoginButton']"));

Как и в Selenium 1.0, в Selenium WebDriver можно выделить три типа основных команд:

  • Действия - функциональное действие над элементами веб-страницы или браузером. Например, заполнение полей, нажатие на кнопку и другие;
  • Проверки - выполнение проверок на тестируемой странице. Например, проверка того, что определенное поле формы имеет указанное значение, или проверка заголовка окна и т.д.;
  • Ожидания - организация ожидания наступления определенных событий на странице или со страницей (например, ожидание загрузки страницы или ожидание загрузки ajax запросов, появление на странице определенного элемента и т.д.).

Команды навигации. За навигацию отвечает класс Navigate.

Старший специалист по автоматизированному тестированию ПО

На проект крупного европейского заказчика, владеющего он-лайн порталом для азартных людей, приглашаем старшего специалиста по тестированию ПО (Selenium/C#).

Требования:

  • опыт автоматизации тестирования с использованием Selenium - не менее 2-х лет;
  • знание Scrum-методологии и опыт участия в проектах по Scrum;
  • опыт работы с системой(ами) контроля версий;
  • хорошее знание английского языка (письменный и разговорный) обязательно.

Дополнительные:

  • желательно знание и опыт работы с С#;
  • опыт управления командой (2-3 человека);
  • опыт работы с Jira, Mingle.

Условия:

  • постоянное развитие профессиональных навыков за счет использования современных технологий;
  • возможность быстрого карьерного роста;
  • непосредственная коммуникация с заказчиком;
  • возможность командировок в Венгрию и Англию.

Личные и деловые качества:

  • навыки активной коммуникации с заказчиками;
  • нацеленность на достижение результата;
  • организованность;
  • ответственность;
  • аналитический склад ума;
  • желание и способность работать в динамичном режиме.
Компания: 
EPAM Systems
Город: 
Минск (Minsk)
Страна: 
Беларусь
Инструменты: 
Selenium, Scrum, С#; Jira, Mingle
Ориентировочная зарплата: 
800-1,000 USD в месяц
Контакт: 
Татьяна Зубкова, Tatsiana_Zubkova@epam.com, +375 44 7491007

Senior QA Automation Engineer

Responsibilities:

  • Performing daily activities as a QA Test automation engineer on FMM team
  • Ensuring the quality of automated test coverage for new applications / features developed by FMM dev team
  • Maintaining test result records and registering defects in a bug management system used on the project
  • Developing scripts, automation testing scenarios, and utilities to facilitate various automation testing needs on the project
  • Creating test reports
  • Analyzing Test results 

The candidate must have the following mandatory skills:

  • Automation experience on large distributed systems. Including rich client (not pure web based applications) and non UI testing, e.g. feeds, processes etc.
  • Knowledge and practical experience of all test stages and types (unit, component, system, integration, functional, reliability, availability, volume, performance, and business acceptance).
  • Experience using Quality Centre
  • Linux (including commands such as grep, sort, uniq, diff)
  • SQL (queries, table joins, group by etc)
  • Strong VBScript and/or VBA expertise
  • Advanced Quick Test Pro experience (including descriptive programming and VBS)
  • Scripting e.g. perl
  • Advanced Excel features, e.g. VLOOKUP etc

As a plus:

  • Manual testing experience on large distributed systems. Including rich client (not pure web based applications) and non UI testing, e.g. feeds, processes etc.
  • Jira experience
  • .Net/c# and SQL server reporting services skills (advantageous)

Company offers:

  • An exciting and challenging job in a dynamic team
  • An opportunity to be innovative and to learn
  • High salary and attractive compensation package
Компания: 
Luxoft
Город: 
Киев (Kiev)
Страна: 
Украина
Инструменты: 
QTP, SQL, Linux
Ориентировочная зарплата: 
2,500-2,700 USD в месяц
Контакт: 
Репешко Елена- рекрутер, erepeshko@luxoft.com, ICQ#: 410-196-214, Skype: isovna
RSS-материал