- Форум тестировщиков
- → Просмотр профиля: Сообщения: Petrov.Sergey
Статистика
- Группа: Members
- Сообщений: 446
- Просмотров: 6 747
- Статус: Опытный участник
- Возраст: 39 лет
- День рождения: Август 5, 1985
Мои сообщения
В теме: Что проще: найти хорошего автоматизатора или вырасти своего?
12 апреля 2016 - 15:38
На личном небольшом опыте выяснилось, что вырастить своего автоматизатора проще и дешевле, чем искать готового обученного
В теме: Тестирование метода с нативными функциями (phpunit)
07 января 2016 - 07:42
метод - это чёрный ящик.
Есть что-то на входе и есть что-то на выходе.
Тот факт, что в методе используются нативные функции, не должны волновать при тестировании метода (если, конечно, ты не знаешь особенности нативных функций, которые могут добавить кейсов).
Поэтому используй тест-анализ:
- какими могут быть входные данные? Есть ли "граничные" значения? Не забудь проверку на NULL. Не забудь про нетипизированность РНР.
- какими могут быть выходные данные? Разбей на классы эквивалентности и реализуй те тесты, которые на выходе дают объекты из каждого класса эквивалентности.
- не забудь проверки на исключения (ошибочные входные данные, например, на вход подаётся стринговый путь к файлу, а ты подай какую-нибудь стринговую абракадабру или путь к файлу, к которому нет прав)
- если знаешь особенности нативных функций, можешь попробовать использовать их (метод внутри себя должен уметь обрабатывать эти особенности и на выход кидать исключение или ещё какую-нибудь обработку).
В теме: Ожидание изменения текста в элементе
01 декабря 2015 - 18:05
Попробуйте сделать ожидание на существование элемента с конкретным текстом или значением.
Например - ждем ссылку с текстом Save. Для этого просто пишем соответствующий локатор (Как написал все, заметил что Petrov.Sergey это и предлагает):
WebDriverWait waitLinkSave = new WebDriverWait(driver, TimeSpan.FromSeconds(30));//Ждем 30 секунд, например waitLinkSave.Until(ExpectedConditions.ElementExists(By.XPath(//a[contains(text(), 'Save')])));//Указываем что ждем ссылку с текстом "Save"
Хотите прикол? Вы ищете по ключевому слову contains(...)
Строка "10568" содержит строку "1".
То есть "10568".contains("1") = true
В Вашем примере ссылка с текстом "Save text" будет найдена (ожидание сработает), но это будет совершенно не тот элемент, который нужен.
Топикстартеру нужно точное совпадение.
Ну, возможно, я нечётко описал. У меня значения выдёргиваются из базы. Произвожу поиск, в основном, там 1 (но бывает 2 и 3). Элемент после первого появления есть всегда и не исчезает, меняю критерий, появляется большее число. Т.к. элемент не меняет никаких атрибутов, то я использую ожидания, чтобы убедиться, что поиск вернул результат, а потом проверяю. Время поиска 2-40 секунд.
1) "произвожу поиск, в основном, там 1 (но бывает 2 и 3)"
Вопрос: как производите поиск?
2) "Элемент после первого появления есть всегда и не исчезает. Меняю критерий, появляется большее число."
Вопрос: какой критерий меняете? На что? Откуда появляется большее число? На основании чего оно появляется?
3) "Т.к. элемент не меняет никаких атрибутов, то я использую ожидания".
Знаете, со стороны это звучит как "В огороде бузина, а в Киеве дядька"
4) "я использую ожидания, чтобы убедиться, что поиск вернул результат"
Ожидание может и не найти элемент, вылетев по таймауту. А точнее, по времени IMPLICITLYWAIT
5) "я использую ожидания, чтобы убедиться, что поиск вернул результат, а потом проверяю".
Что проверяете? Что поиск вернул результат? Так за Вас это уже сделало ожидание - либо вернёт найденный элемент (значит, результат есть), либо вылетет (значит, результата нет).
6) "Время поиска 2-40 секунд"
40 секунд время поиска?!
Переписывайте тест!
В теме: Нафига вы спрашиваете на чем написан был продукт?
30 ноября 2015 - 18:27
@#$% чувак, ты огонь! Кланюсь в пол =))))
Но это же единичный случай, не? Большинство задач же на уровне интерфейса? Или это большинство задач только для джунов и мидлов, а крутые тестеры все подряд могут?
Нет, это не единичный случай.
Я тоже на 80-90% бэкендщик. И у меня тоже случаются различные детективчики.
А вопрос "на чём было написано тестируемое Вами приложение", например, может иметь такой подтекст: сумеешь ли ты читать код, чтобы получше разобраться в ошибке?
Или: Если знаешь, на чём было написано ПО, значит можешь знать тонкости языка => сможешь бить по "больным местам".
Например, РНР нетипизированный, в котором '' == null == 0 == false. И я своих коллег поначалу не раз на этом ловил.
Любой вопрос, даже если Вы не понимаете его смысла или "зачем его задали" имеет свою какую-то подоплёку.
В теме: Ожидание изменения текста в элементе
30 ноября 2015 - 17:28
Предложение:
Фактически, топикстартер ожидает, что на странице через какое-то время будет конкретный элемент с текстом.
Повторюсь: не "элемент изменит текст на «...»", а "появится элемент с текстом «...»"
То есть достаточно в локатор передать дополнительное условие, что text() = '1', и использовать presenceOfElementLocated(By locator)
И не надо изобретать свои велосипеды — главное правильно задать вопрос.
- Форум тестировщиков
- → Просмотр профиля: Сообщения: Petrov.Sergey
- Политика Конфиденциальности
- Правила форума ·