Артём Ерошенко: Как найти общий язык с результатами...
DESCRIPTION
С ростом количества тестов возникает проблема анализа их результатов. Речь идёт не о UNIT-тестах, а о более высокоуровневых. Скажите честно, кто из вас не думал сделать свой отчёт? С подробными логами, скриншотами, дампами запросов и ответов и прочей информацией (которая, к слову, существенно облегчает поиск причин конкретной ошибки). Я расскажу о том, какой отчёт мы используем в Яндексе. А после доклада все желающие смогут попробовать его у себя.TRANSCRIPT
старший инженер по автоматизации
Как найти общий язык с результатами тестов
Артем Ерошенко
Как найти общий язык
с результатами тестов?
Отчеты автотестов
Хорошие отчеты
скорость и точность
Чем дальше от кода
тем меньше точность
Юнит тесты
Тесты через API
Web-тесты
Хорошие отчеты
содержат данные
Хорошие отчеты
понятны всем
Хорошие отчеты
легко читать всем
Allure Framework
Мультиязычность
Allure Framework
Модульность
Allure Framework
Гибкость
Allure Framework
Allure Framework
расширение xUnit
Стандартный xUnit
Стандартный xUnit
TestSuite Class
Стандартный xUnit
TestSuite Class
TestCase Method
Расширение xUnit
Аттачменты (Аттачи)
Аттачменты
HTML
IMAGE
JSON
XML
TXT
OTHER
Шаги (Степы)
Расширение xUnit
Шаги
Вложенность
Шаги
Статус завершения
Вложенность
Шаги
Статус завершения
Вложенность
Содержат аттачменты
Allure Framework
Стандартный xUnit
=
+
Шаги Аттачменты
Модульность Allure
Модульность Allure
Allure Model
Allure Adaptor
Allure Report
Allure Model
Test Suite .xml
расширение xUnit
<testsuite time=“188”! name=“company.TestMe”! tests=“1” skipped=“0”! errors=“0” failures=“0”>! <testcase! time=“180" name=“testMe”! classname=“company.TestMe” ! />!</test-suite>
xUnit Model
Allure Model
Test Suite .xml
start/stop
status
test info
расширение xUnit
severity
<testsuite start="3" stop="25">! <title>Test Suite</title>! <testcase start="5" ! stop=“23”! status=“passed"! severity="normal">! <title>Test Case</title>! </testcase>!</testsuite>
Allure Model
Allure Model
steps attachments
Test Suite .xml
start/stop
statusseverity
test info
расширение xUnit
<testcase … >! <title>Test Case</title>! <step start="3" start="17" ! title=“Open Main Page"/>! <attachments title="image"! source=“path/to/image.png“! type="png"/>!</testcase>
Allure Model
<testcase … >! <title>Test Case</title>! <step start="3" start="17" ! title=“Open Main Page">! <attachments title="image"! source=“image.png“! type="png"/>! </step>!</testcase>
Allure Model
<testcase … >! <title>Test Case</title>! <step start="3" start="17" ! title=“Open Main Page">! <step start="4"! stop=“6“! type=“Input text"/>! </step>!</testcase>
Allure Model
Allure Adaptor
jUnit
pyUnit
Karma
Test Suite .xml
Allure Adaptor
jUnit
pyUnit
Karma
jUnit Adaptor
Test Suite .xml
Allure Adaptor
jUnit
pyUnit
Karma
jUnit Adaptor
pyUnit Adaptor
Test Suite .xml
Allure Adaptor
jUnit
pyUnit
Karma
jUnit Adaptor
pyUnit Adaptor
Karma Adaptor
Test Suite .xml
Allure ReportTest Suite .xml
Test Suite .xml
Test Suite .xml
Allure ReportTest Suite .xml
Test Suite .xml
Test Suite .xml
Report Data
Generator
Test Suite .json
Test Suite .json
Test Suite .json
Run Status .json
Allure Report
Angular JS
+Test Suite .json
Test Suite .json
Test Suite .json
Run Status .json
Report Face
Модульность Allure
jUnit
jUnit Adaptor
Test Suite .xml
Data GEN
Report
Гибкость Allure
рецепт приготовления
Чистый xUnit
public void SearchTest {! @Test! public void searchResultsTest() {! …! }!}
Добавляем шаги@Step!public void openMainPage () {! driver.get(“http://yandex.ru”);!}!!
@Step!public void searchBy (String key) {! driver.findElement(id(“text”))! .type(key);! driver.findElement(id(“srch”)).click();!}
Добавляем аттачи@Attach(type=AttachmentType.PNG)!public File makeScreenshot () {! driver.getScreenshotAs(OutputType.File)!}!@Step!public void checkResultHas(String text) {! //получаем текст результатов! //с помощью драйвера, проверяем текст!! makeScreenShot(); !}
Пишем тест
public void SearchTest {! @Test! public void searchResultsTest() {! openMainPage();! searchBy(“Yandex”);! checkResultsHas(“Yandex”);! }!}
Попробуйте сами
Вопросы?
http://bit.ly/allure-reports
http://bit.ly/allure-framework