Size: a a a

QA — Автоматизация

2019 November 12

LY

Lev Yarushin in QA — Автоматизация
Pywinauto, pyautogui если нужна кросс-платформенность
источник

VL

V L in QA — Автоматизация
Alexei Barantsev
пропустил срач, но всё равно доброшу следом
http://0x1.tv/2204-bdd-atdd-barancev-agiledays-2011
8 лет свежести, но все равно интересно было послушать (особенно дискуссию после презентации).

43:11 на видео- "...Given-When-Then. Я не могу написать сложный тест.." -  
хороший ли это подход что тесты сложные?
Есть мнение что тесты должны быть проще чем система которую они тестируют
источник

AB

Alexei Barantsev in QA — Автоматизация
не настолько сложный, что прямо "как тестируемая система". но сложнее, чем линейная цепочка действий
источник

VL

V L in QA — Автоматизация
наличие IF в тесте порой указывает что это может быть два теста запихнуто в один
источник

VL

V L in QA — Автоматизация
IFы и сложное поведение скорее характерны ботам чем хорошо структурированному тесту
источник

AR

Andrey Romanchuk in QA — Автоматизация
V L
наличие IF в тесте порой указывает что это может быть два теста запихнуто в один
Есть мнение, что тесты должны быть максимально детерминированными. Собственно, в Огурце поэтому и не делали IF принципиально.
Иногда бывает нужно прокинуть параметры (например добавили нового пользователя, надо в другое место прокинуть id этого пользователя), но параметры обычно поддерживаются.
источник

AR

Andrey Romanchuk in QA — Автоматизация
Задам такой вопрос: кто знает, как вытащить лог нетворка из Вебдрайвера?

Нашел эту инструкцию: https://chromedriver.chromium.org/logging/performance-log

Но по ней, у меня в логе ничего не записалось. Возможно что-то делаю не так.
Хочется вытащить запросы к серверу, в идеале еще вебсокеты, т.к. у нас на это многое завязано
источник

AB

Alexei Barantsev in QA — Автоматизация
V L
наличие IF в тесте порой указывает что это может быть два теста запихнуто в один
порой указывает, а порой и не указывает
источник

AB

Alexei Barantsev in QA — Автоматизация
не хотите делать нелинейные тесты — не делайте :)
источник

AB

Alexei Barantsev in QA — Автоматизация
на самом деле конечно можно любой тест "линеаризовать" и превратить в цепочку из трёх шагов GWT, но при этом сложность никуда не денется, её всё равно придётся реализовать, только на более низком уровне. вот про этот "уровень реализации" среди проповедников BDD почему-то не принято говорить
источник

VL

V L in QA — Автоматизация
Логика тестовых шагов линейная
под капотом на уровне реализации адаптера вполне могут быть условия и это хороший способ прятать сложность
источник

AB

Alexei Barantsev in QA — Автоматизация
логика тестовых шагов бывает разная. зависит от того, что именно вы хотите выразить тестом. это спецификация поведения. и она может быть иногда сложной
источник

VL

V L in QA — Автоматизация
Andrey Romanchuk
Задам такой вопрос: кто знает, как вытащить лог нетворка из Вебдрайвера?

Нашел эту инструкцию: https://chromedriver.chromium.org/logging/performance-log

Но по ней, у меня в логе ничего не записалось. Возможно что-то делаю не так.
Хочется вытащить запросы к серверу, в идеале еще вебсокеты, т.к. у нас на это многое завязано
LoggingPreferences logs = new LoggingPreferences();
logs.enable(LogType.
BROWSER, Level.ALL);
logs.enable(LogType.
DRIVER, Level.ALL);

capabilities.setCapability(
"goog:loggingPrefs", logs);
....
logEntries = driver.manage().logs().get(LogType.BROWSER);
источник

AB

Alexei Barantsev in QA — Автоматизация
например, если вы тестируете систему с недетерминированным поведением, или частично недетерминированным (то есть вы не можете управлять всеми факторами, которые влияют на поведение)
источник

AB

Alexei Barantsev in QA — Автоматизация
и вы пишете в тесте, что случилось событие А или Б (но обязательно одно из двух случилось), и в случае А выполняются такие-то условия, а в случае Б выполняются другие условия (а если случились сразу оба А и Б или не случилось ни одного из них — это баг)
источник

AB

Alexei Barantsev in QA — Автоматизация
конечно, можно эту спецификацию из теста убрать, заменить шагом типа "а тут проверь, что поведение правильное", и всю сложность спрятать внутрь — но суть от этого не меняется, а спецификация становится менее понятной от такого "сокрытия сложности"
источник

VL

V L in QA — Автоматизация
согласен что этот случай не очень годится для BDD, но чаще мы стремимся к большему контролю и имеем таки детерминированное поведение
источник

BO

Boris Osyanin in QA — Автоматизация
Andrey Romanchuk
Задам такой вопрос: кто знает, как вытащить лог нетворка из Вебдрайвера?

Нашел эту инструкцию: https://chromedriver.chromium.org/logging/performance-log

Но по ней, у меня в логе ничего не записалось. Возможно что-то делаю не так.
Хочется вытащить запросы к серверу, в идеале еще вебсокеты, т.к. у нас на это многое завязано
о, про вебсокеты было бы интереснее
источник

ON

Oleg Nazarov in QA — Автоматизация
Boris Osyanin
о, про вебсокеты было бы интереснее
+++
источник

AR

Andrey Romanchuk in QA — Автоматизация
V L
LoggingPreferences logs = new LoggingPreferences();
logs.enable(LogType.
BROWSER, Level.ALL);
logs.enable(LogType.
DRIVER, Level.ALL);

capabilities.setCapability(
"goog:loggingPrefs", logs);
....
logEntries = driver.manage().logs().get(LogType.BROWSER);
Примерно так и делал, но capabilities не указывал. Сейчас попробую еще раз. Дополнительный вопрос (не так критично) - с RemoteWebDriver на селеноиде это можно сделать?
источник