Size: a a a

2020 June 09

BO

Boris Osipov in JS for testing
мне кажется можно взять любую селениум ошибку и для нее всегда найдется пост на SO, в котором будет как решение выровнять версию драйвера и браузера. не важно вообще о чем ошибка
источник

BO

Boris Osipov in JS for testing
over9ooo
вот дебаг лог:
[0-0] 2020-06-09T15:49:16.011Z INFO webdriver: COMMAND elementClick("62a32118-7e5b-4a07-b97c-c287b4f3ee3e")
[0-0] 2020-06-09T15:49:16.012Z INFO webdriver: [POST] http://hub:4444/wd/hub/session/a6bfdde5c9ef9fe0cfe3f441b5441b40/element/62a32118-7e5b-4a07-b97c-c287b4f3ee3e/click
[0-0] 2020-06-09T15:49:16.216Z INFO webdriver: COMMAND switchToParentFrame()
[0-0] 2020-06-09T15:49:16.217Z INFO webdriver: [POST] http://hub:4444/wd/hub/session/a6bfdde5c9ef9fe0cfe3f441b5441b40/frame/parent
[0-0] 2020-06-09T15:49:21.235Z INFO webdriver: COMMAND getWindowHandles()
[0-0] 2020-06-09T15:49:21.236Z INFO webdriver: [GET] http://hub:4444/wd/hub/session/a6bfdde5c9ef9fe0cfe3f441b5441b40/window/handles
[0-0] 2020-06-09T15:49:21.243Z INFO webdriver: RESULT [ 'CDwindow-E7EDF54BF8292F733F11B5912AAD5C35',
 'CDwindow-0BF85DCBF90D238D9FC4761749676E81' ]
[0-0] 2020-06-09T15:49:21.244Z INFO webdriver: COMMAND getWindowHandles()
[0-0] 2020-06-09T15:49:21.245Z INFO webdriver: [GET] http://hub:4444/wd/hub/session/a6bfdde5c9ef9fe0cfe3f441b5441b40/window/handles
[0-0] 2020-06-09T15:49:21.250Z INFO webdriver: RESULT [ 'CDwindow-E7EDF54BF8292F733F11B5912AAD5C35',
 'CDwindow-0BF85DCBF90D238D9FC4761749676E81' ]
[0-0] 2020-06-09T15:49:21.251Z INFO webdriver: COMMAND switchToWindow("CDwindow-0BF85DCBF90D238D9FC4761749676E81")
[0-0] 2020-06-09T15:49:21.252Z INFO webdriver: [POST] http://hub:4444/wd/hub/session/a6bfdde5c9ef9fe0cfe3f441b5441b40/window
[0-0] 2020-06-09T15:49:21.252Z INFO webdriver: DATA { handle: 'CDwindow-0BF85DCBF90D238D9FC4761749676E81' }
[0-0] 2020-06-09T15:49:21.263Z INFO webdriver: COMMAND findElement("css selector", "input#password")
[0-0] 2020-06-09T15:49:21.264Z INFO webdriver: [POST] http://hub:4444/wd/hub/session/a6bfdde5c9ef9fe0cfe3f441b5441b40/element
[0-0] 2020-06-09T15:49:21.265Z INFO webdriver: DATA { using: 'css selector', value: 'input#password' }
[0-0] 2020-06-09T15:49:21.321Z DEBUG webdriver: request failed due to response error: invalid argument
[0-0] 2020-06-09T15:49:21.321Z WARN webdriver: Request failed due to invalid argument: Unsupported locator strategy: null
 (Session info: chrome=83.0.4103.61)

локатор он получает, но почемуто считает, что он нулл
похоже на баг в драйвере. ничего вы не сделаете. мб в ишью трекере гугла что-то есть и люди нашли как подкостылить
источник

OK

Oleksandr Khotemskyi in JS for testing
over9ooo
вот дебаг лог:
[0-0] 2020-06-09T15:49:16.011Z INFO webdriver: COMMAND elementClick("62a32118-7e5b-4a07-b97c-c287b4f3ee3e")
[0-0] 2020-06-09T15:49:16.012Z INFO webdriver: [POST] http://hub:4444/wd/hub/session/a6bfdde5c9ef9fe0cfe3f441b5441b40/element/62a32118-7e5b-4a07-b97c-c287b4f3ee3e/click
[0-0] 2020-06-09T15:49:16.216Z INFO webdriver: COMMAND switchToParentFrame()
[0-0] 2020-06-09T15:49:16.217Z INFO webdriver: [POST] http://hub:4444/wd/hub/session/a6bfdde5c9ef9fe0cfe3f441b5441b40/frame/parent
[0-0] 2020-06-09T15:49:21.235Z INFO webdriver: COMMAND getWindowHandles()
[0-0] 2020-06-09T15:49:21.236Z INFO webdriver: [GET] http://hub:4444/wd/hub/session/a6bfdde5c9ef9fe0cfe3f441b5441b40/window/handles
[0-0] 2020-06-09T15:49:21.243Z INFO webdriver: RESULT [ 'CDwindow-E7EDF54BF8292F733F11B5912AAD5C35',
 'CDwindow-0BF85DCBF90D238D9FC4761749676E81' ]
[0-0] 2020-06-09T15:49:21.244Z INFO webdriver: COMMAND getWindowHandles()
[0-0] 2020-06-09T15:49:21.245Z INFO webdriver: [GET] http://hub:4444/wd/hub/session/a6bfdde5c9ef9fe0cfe3f441b5441b40/window/handles
[0-0] 2020-06-09T15:49:21.250Z INFO webdriver: RESULT [ 'CDwindow-E7EDF54BF8292F733F11B5912AAD5C35',
 'CDwindow-0BF85DCBF90D238D9FC4761749676E81' ]
[0-0] 2020-06-09T15:49:21.251Z INFO webdriver: COMMAND switchToWindow("CDwindow-0BF85DCBF90D238D9FC4761749676E81")
[0-0] 2020-06-09T15:49:21.252Z INFO webdriver: [POST] http://hub:4444/wd/hub/session/a6bfdde5c9ef9fe0cfe3f441b5441b40/window
[0-0] 2020-06-09T15:49:21.252Z INFO webdriver: DATA { handle: 'CDwindow-0BF85DCBF90D238D9FC4761749676E81' }
[0-0] 2020-06-09T15:49:21.263Z INFO webdriver: COMMAND findElement("css selector", "input#password")
[0-0] 2020-06-09T15:49:21.264Z INFO webdriver: [POST] http://hub:4444/wd/hub/session/a6bfdde5c9ef9fe0cfe3f441b5441b40/element
[0-0] 2020-06-09T15:49:21.265Z INFO webdriver: DATA { using: 'css selector', value: 'input#password' }
[0-0] 2020-06-09T15:49:21.321Z DEBUG webdriver: request failed due to response error: invalid argument
[0-0] 2020-06-09T15:49:21.321Z WARN webdriver: Request failed due to invalid argument: Unsupported locator strategy: null
 (Session info: chrome=83.0.4103.61)

локатор он получает, но почемуто считает, что он нулл
я бы для интереса откатил бы на 82 чисто проверить
источник

A

Alexander in JS for testing
over9ooo
вот дебаг лог:
[0-0] 2020-06-09T15:49:16.011Z INFO webdriver: COMMAND elementClick("62a32118-7e5b-4a07-b97c-c287b4f3ee3e")
[0-0] 2020-06-09T15:49:16.012Z INFO webdriver: [POST] http://hub:4444/wd/hub/session/a6bfdde5c9ef9fe0cfe3f441b5441b40/element/62a32118-7e5b-4a07-b97c-c287b4f3ee3e/click
[0-0] 2020-06-09T15:49:16.216Z INFO webdriver: COMMAND switchToParentFrame()
[0-0] 2020-06-09T15:49:16.217Z INFO webdriver: [POST] http://hub:4444/wd/hub/session/a6bfdde5c9ef9fe0cfe3f441b5441b40/frame/parent
[0-0] 2020-06-09T15:49:21.235Z INFO webdriver: COMMAND getWindowHandles()
[0-0] 2020-06-09T15:49:21.236Z INFO webdriver: [GET] http://hub:4444/wd/hub/session/a6bfdde5c9ef9fe0cfe3f441b5441b40/window/handles
[0-0] 2020-06-09T15:49:21.243Z INFO webdriver: RESULT [ 'CDwindow-E7EDF54BF8292F733F11B5912AAD5C35',
 'CDwindow-0BF85DCBF90D238D9FC4761749676E81' ]
[0-0] 2020-06-09T15:49:21.244Z INFO webdriver: COMMAND getWindowHandles()
[0-0] 2020-06-09T15:49:21.245Z INFO webdriver: [GET] http://hub:4444/wd/hub/session/a6bfdde5c9ef9fe0cfe3f441b5441b40/window/handles
[0-0] 2020-06-09T15:49:21.250Z INFO webdriver: RESULT [ 'CDwindow-E7EDF54BF8292F733F11B5912AAD5C35',
 'CDwindow-0BF85DCBF90D238D9FC4761749676E81' ]
[0-0] 2020-06-09T15:49:21.251Z INFO webdriver: COMMAND switchToWindow("CDwindow-0BF85DCBF90D238D9FC4761749676E81")
[0-0] 2020-06-09T15:49:21.252Z INFO webdriver: [POST] http://hub:4444/wd/hub/session/a6bfdde5c9ef9fe0cfe3f441b5441b40/window
[0-0] 2020-06-09T15:49:21.252Z INFO webdriver: DATA { handle: 'CDwindow-0BF85DCBF90D238D9FC4761749676E81' }
[0-0] 2020-06-09T15:49:21.263Z INFO webdriver: COMMAND findElement("css selector", "input#password")
[0-0] 2020-06-09T15:49:21.264Z INFO webdriver: [POST] http://hub:4444/wd/hub/session/a6bfdde5c9ef9fe0cfe3f441b5441b40/element
[0-0] 2020-06-09T15:49:21.265Z INFO webdriver: DATA { using: 'css selector', value: 'input#password' }
[0-0] 2020-06-09T15:49:21.321Z DEBUG webdriver: request failed due to response error: invalid argument
[0-0] 2020-06-09T15:49:21.321Z WARN webdriver: Request failed due to invalid argument: Unsupported locator strategy: null
 (Session info: chrome=83.0.4103.61)

локатор он получает, но почемуто считает, что он нулл
У нас папетир на 83й версии хрома отвалился, попробуй действительно откатиться
источник

D

Dmitriy in JS for testing
Sergei
в центре чего?)
Ну каждый может организоватся по центру своего города) я про Киев говорю
источник

ДП

Діма Потапов... in JS for testing
over9ooo
у меня уже есть хромдрайвер. как бы они без него дошли до момента падения посреди теста?
Там хедлес чи ікс фрейм буфер?
источник

ЖR

Жора Rusanov in JS for testing
Добрый вечер
codeceptjs + wdio
Запускаю параллельно в несколько чанков.
Я так понял, что раннер просто берет общее количество файлов с фичами и делит их на количество чанков, а далее распределяет тесты на потоки до их запуска. И вроде все хорошо, и у в каждом потоке одинаковое количество фича файлов.
Но в каких то есть параметризованные тесты, а в каких то сами тесты длиннее, чем время среднего теста. Из-за этого время прогона в самом долгом потоке получается почти в два раза длиннее времени в самом коротком.
Правильно ли я понял логику раннера и сталкивался ли кто-нить с подобным? Если да, то как решали?
источник

P

Paul G in JS for testing
Жора Rusanov
Добрый вечер
codeceptjs + wdio
Запускаю параллельно в несколько чанков.
Я так понял, что раннер просто берет общее количество файлов с фичами и делит их на количество чанков, а далее распределяет тесты на потоки до их запуска. И вроде все хорошо, и у в каждом потоке одинаковое количество фича файлов.
Но в каких то есть параметризованные тесты, а в каких то сами тесты длиннее, чем время среднего теста. Из-за этого время прогона в самом долгом потоке получается почти в два раза длиннее времени в самом коротком.
Правильно ли я понял логику раннера и сталкивался ли кто-нить с подобным? Если да, то как решали?
Используй воркеры
источник

P

Paul G in JS for testing
Чанки нестабильны
источник
2020 June 10

MB

Michael Bodnarchuk in JS for testing
Жора Rusanov
Добрый вечер
codeceptjs + wdio
Запускаю параллельно в несколько чанков.
Я так понял, что раннер просто берет общее количество файлов с фичами и делит их на количество чанков, а далее распределяет тесты на потоки до их запуска. И вроде все хорошо, и у в каждом потоке одинаковое количество фича файлов.
Но в каких то есть параметризованные тесты, а в каких то сами тесты длиннее, чем время среднего теста. Из-за этого время прогона в самом долгом потоке получается почти в два раза длиннее времени в самом коротком.
Правильно ли я понял логику раннера и сталкивался ли кто-нить с подобным? Если да, то как решали?
да, вот очень хороший кейс. Ради него мы как раз выпускаем CodeceptJS 3
Там можно будет паралелить запуск как захочешь. Кстати, это уже готово к использованию, ждать релиз не надо. Он будет скоро, но там серьезных изменений в коде не будет. Так что просто ставь бету и делай свою параллельную пускалку
https://github.com/codecept-js/CodeceptJS/wiki/Upgrading-to-CodeceptJS-3#5️⃣-improved-parallel-execution-with-workers
источник

A

Alexander in JS for testing
Michael Bodnarchuk
да, вот очень хороший кейс. Ради него мы как раз выпускаем CodeceptJS 3
Там можно будет паралелить запуск как захочешь. Кстати, это уже готово к использованию, ждать релиз не надо. Он будет скоро, но там серьезных изменений в коде не будет. Так что просто ставь бету и делай свою параллельную пускалку
https://github.com/codecept-js/CodeceptJS/wiki/Upgrading-to-CodeceptJS-3#5️⃣-improved-parallel-execution-with-workers
эта версия ts поддерживает?
источник

MB

Michael Bodnarchuk in JS for testing
да, ради этого тоже пилилось =)
источник

MB

Michael Bodnarchuk in JS for testing
источник

A

Alexander in JS for testing
каеф
источник

o

over9ooo in JS for testing
over9ooo
вот дебаг лог:
[0-0] 2020-06-09T15:49:16.011Z INFO webdriver: COMMAND elementClick("62a32118-7e5b-4a07-b97c-c287b4f3ee3e")
[0-0] 2020-06-09T15:49:16.012Z INFO webdriver: [POST] http://hub:4444/wd/hub/session/a6bfdde5c9ef9fe0cfe3f441b5441b40/element/62a32118-7e5b-4a07-b97c-c287b4f3ee3e/click
[0-0] 2020-06-09T15:49:16.216Z INFO webdriver: COMMAND switchToParentFrame()
[0-0] 2020-06-09T15:49:16.217Z INFO webdriver: [POST] http://hub:4444/wd/hub/session/a6bfdde5c9ef9fe0cfe3f441b5441b40/frame/parent
[0-0] 2020-06-09T15:49:21.235Z INFO webdriver: COMMAND getWindowHandles()
[0-0] 2020-06-09T15:49:21.236Z INFO webdriver: [GET] http://hub:4444/wd/hub/session/a6bfdde5c9ef9fe0cfe3f441b5441b40/window/handles
[0-0] 2020-06-09T15:49:21.243Z INFO webdriver: RESULT [ 'CDwindow-E7EDF54BF8292F733F11B5912AAD5C35',
 'CDwindow-0BF85DCBF90D238D9FC4761749676E81' ]
[0-0] 2020-06-09T15:49:21.244Z INFO webdriver: COMMAND getWindowHandles()
[0-0] 2020-06-09T15:49:21.245Z INFO webdriver: [GET] http://hub:4444/wd/hub/session/a6bfdde5c9ef9fe0cfe3f441b5441b40/window/handles
[0-0] 2020-06-09T15:49:21.250Z INFO webdriver: RESULT [ 'CDwindow-E7EDF54BF8292F733F11B5912AAD5C35',
 'CDwindow-0BF85DCBF90D238D9FC4761749676E81' ]
[0-0] 2020-06-09T15:49:21.251Z INFO webdriver: COMMAND switchToWindow("CDwindow-0BF85DCBF90D238D9FC4761749676E81")
[0-0] 2020-06-09T15:49:21.252Z INFO webdriver: [POST] http://hub:4444/wd/hub/session/a6bfdde5c9ef9fe0cfe3f441b5441b40/window
[0-0] 2020-06-09T15:49:21.252Z INFO webdriver: DATA { handle: 'CDwindow-0BF85DCBF90D238D9FC4761749676E81' }
[0-0] 2020-06-09T15:49:21.263Z INFO webdriver: COMMAND findElement("css selector", "input#password")
[0-0] 2020-06-09T15:49:21.264Z INFO webdriver: [POST] http://hub:4444/wd/hub/session/a6bfdde5c9ef9fe0cfe3f441b5441b40/element
[0-0] 2020-06-09T15:49:21.265Z INFO webdriver: DATA { using: 'css selector', value: 'input#password' }
[0-0] 2020-06-09T15:49:21.321Z DEBUG webdriver: request failed due to response error: invalid argument
[0-0] 2020-06-09T15:49:21.321Z WARN webdriver: Request failed due to invalid argument: Unsupported locator strategy: null
 (Session info: chrome=83.0.4103.61)

локатор он получает, но почемуто считает, что он нулл
В общем решил я прикрутить селеноид, т.к. версию браузера никогда не менял, и как это по-простому сделать - так и не нашел. Теперь у меня проблема с аплоадом файлов... Делаю примерно как написано тут: https://aerokube.com/selenoid/latest/#_uploading_files_to_browser

const relativePath = path.relative(__dirname, 'resources/files/uploadSample.jpeg');
const absoluteFilePath = path.join( path.resolve(__dirname, relativePath) );
const remoteFilePath = browser.uploadFile( absoluteFilePath );
$('input').addValue( remoteFilePath );


Все это дело падает на строке с browser.uploadFile, ошибка: unknown error: unable to decode 'file'.
Файл на месте, через readdirSync(absoluteFilePath) его видно, следовательно тест его должен видеть.
источник

N

Nikita in JS for testing
over9ooo
В общем решил я прикрутить селеноид, т.к. версию браузера никогда не менял, и как это по-простому сделать - так и не нашел. Теперь у меня проблема с аплоадом файлов... Делаю примерно как написано тут: https://aerokube.com/selenoid/latest/#_uploading_files_to_browser

const relativePath = path.relative(__dirname, 'resources/files/uploadSample.jpeg');
const absoluteFilePath = path.join( path.resolve(__dirname, relativePath) );
const remoteFilePath = browser.uploadFile( absoluteFilePath );
$('input').addValue( remoteFilePath );


Все это дело падает на строке с browser.uploadFile, ошибка: unknown error: unable to decode 'file'.
Файл на месте, через readdirSync(absoluteFilePath) его видно, следовательно тест его должен видеть.
может дело не расположении файла, а в чтении самого файла?; а что будет если подсунуть файл в "txt" формате,  с содержимым "1" -  беда останется?
источник

AP

Alexander Popov in JS for testing
over9ooo
В общем решил я прикрутить селеноид, т.к. версию браузера никогда не менял, и как это по-простому сделать - так и не нашел. Теперь у меня проблема с аплоадом файлов... Делаю примерно как написано тут: https://aerokube.com/selenoid/latest/#_uploading_files_to_browser

const relativePath = path.relative(__dirname, 'resources/files/uploadSample.jpeg');
const absoluteFilePath = path.join( path.resolve(__dirname, relativePath) );
const remoteFilePath = browser.uploadFile( absoluteFilePath );
$('input').addValue( remoteFilePath );


Все это дело падает на строке с browser.uploadFile, ошибка: unknown error: unable to decode 'file'.
Файл на месте, через readdirSync(absoluteFilePath) его видно, следовательно тест его должен видеть.
так файл или директория?
источник

o

over9ooo in JS for testing
Alexander Popov
так файл или директория?
файл. readdirSync использовал на директорию, где файл лежит, просто в кач-ве дебага. если ты об этом.
источник

o

over9ooo in JS for testing
Nikita
может дело не расположении файла, а в чтении самого файла?; а что будет если подсунуть файл в "txt" формате,  с содержимым "1" -  беда останется?
да, остается... пробовал также другие форматы картинок грузить (jpg, png) - не помогает.
источник

AP

Alexey Panashchenko in JS for testing
js господаы вопросы, а кто то пробовал написать вот такие декораторы @smoke и т д что было легче типа сьжтов делать, запускать тесты по тегам, дисейблить тесты? Typescript + mocha + widio
@smoke
it('Success login', () => {
   allureReporter.addFeature('Authorization')
   allureReporter.addStory('Login')
   loginPage
       .login(config.email, config.password)
       .userShouldBeLoggedIn();
})
источник