Осенью прошлого года сразу в трех городах состоялась традиционная конференция ITsubbotnik ЕРАМ, на которой специалисты по информационным технологиям рассказывали о разработке и тестированию ПО.
На прошедшем мероприятии доклады проходили в четыре потока, среди которых был и полностью посвященный теме QA. Если вам не удалось побывать на конференции лично, предлагаем посмотреть выступления наших коллег в записи, а именно:
1. Павла Лебедя и Сергея Мишанина об автоматизировании мобильного web, о специфических проблемах с технологиями и их решениях.
2. Дмитрия Гуменюка о том, как использовать автоматизацию правильно.
3. Антона Туляганова о том, что необычного в тестировании VR/AR.
4. Антона Шапина о сложном и тернистом, но интересном переходе из ручных тестировщиков в автоматизаторы.
Привет, форумчане! Снова нужна ваша помощь. Есть дерево меню, http://joxi.ru/J2beaDQFkYzvm6
По xpath (.//*[@name='org_struct_admin1']//table/tbody/tr/td[1]/img) нахожу все элементы которые мне нужны,
клик делаю если стиль соответствует закрытому меню.
Нужно раскрывать все элементы, что бы просмотреть содержимое и найти нужное.
Сделал вот такую конструкцию:
public void openStructureTree(){
List<WebElement> elements=driver.findElements(By.xpath(".//*[@name='org_struct_admin1']//table/tbody/tr/td[1]/img"));
for (WebElement element:elements){
String opentree= element.getAttribute("style");
System.out.println("Значение для элементов: "+element.getAttribute("style"));
if (opentree.equals("width: 16px; height: 16px; background: url(\"xdata:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAX0lEQVR42t2TwQkAMQgE07w95JtPIKWkCsGfEH2kgQ25EhQO7qaAYdHdgiTlx4I5J/becUHvHWMMiEhcYGZorYGZY4LLWgu1Vrh7THBRVRDRk+jdBOkbpL6Q7sF3tnAAAyDoFbr+8FgAAAAASUVORK5CYII=\") 0px 0px no-repeat;")) {
click(By.xpath(".//*[@name='org_struct_admin1']//table/tbody/tr/td[1]/img"));
}
}
}
Понятное дело, нажимается первый найденный элемент.
Проблема в том, что каждое меню это добавление новых div, например
Первый элемент - .//*[@name='org_struct_admin1']/div[5]/div/div[2]/table/tbody/tr/td[1]/img
Второй элемент- .//*[@name='org_struct_admin1'']/div[5]/div/div[2]/div/div/table/tbody/tr/td[1]/img
Следовательно не получится замутить что-то вроде div["+i+i"]
Понимаю, что нужно записать найденный элемент с нужным стилем, и клик произвести именно по нему, но вот как это сделать технически, я пока не придумал.
Собственно хотелось бы узнать как правильно настроить steps, какие именно шаги необходимы для запуска тестов. Тесты написаны в vs 2015, проект typescript node.js console, используется protractor, jasmine
Книга Сун Цзы "Искусство войны" была написана в 5 веке до нашей эры. С тех пор она переводилась на множество языков и использовалась не только с целью обучения военной тактике, но и в корпоративных отношениях, спорте, бизнесе, и ряде других дисциплин, требующих стратегии и тактики.
Периодически я наталкиваюсь на цитаты из этой книги, которые подходят и для области обеспечения качества. В какой-то степени QA похоже на войну – мы боремся с забагованным кодом, строгими дедлайнами, недостатком ресурсов и раздражением коллег.
Давайте посмотрим, как мудрость Сун Цзы применима к "Искусству тестирования".
Далее следуют цитаты из книги и их возможное приложение к тестированию. Расширенный набор цитат можно посмотреть здесь.
Применение в тестировании
"Превосходство над вражескими нациями без вступления в военные действия есть наивысшее из искусств".
Работая с другими людьми, мы должны помнить о том, что люди – существа эмоциональные. Каждый приносит на рабочее место свой личный "багаж" эмоций. Часть нашего багажа отвечает за наше отношение к другим людям. Если вы хотите напасть в ответ на чей-то укол, остановитесь и подумайте, почему люди говорят именно это? Действительно ли они хотят "достать" вас, или преследуют личные цели? Обычно это скорее второе, а не первое. Хорошая коммуникация – залог успеха: обезвредьте ситуацию, поговорив с коллегой и попытавшись понять, какие цели он преследует.