Giter VIP home page Giter VIP logo

Comments (22)

sipayRT avatar sipayRT commented on May 30, 2024

at first, it's retries. Failed test will be retried in new browser session. It minimizes the count of external dependencies errors (for example, unstable grid)

from testplane.

j0tunn avatar j0tunn commented on May 30, 2024

@tarmolov
Using just webdriver.io you should write in tests all that stuff about browser initialization (desiredCapabilities, etc.). So tell me please how you suppose to launch tests in different browsers in parallel via mocha-parallel-tests + webdriver.io? Same tests. In different browsers.

from testplane.

tarmolov avatar tarmolov commented on May 30, 2024

@sipayRT mocha-parallel-tests has retry option. Doesn't it work?

@j0tunn what if do I write only an a couple of helpers for the initialization and desiredCapabilities? It seems that mocha-parallel-tests + webdriver.io can run tests in parallel only in a specific browser but no different browsers. Running tests in parallel not only in one browsers but in different ones is a good point!

Each a new user of hermione can ask us why it's better than just webdriver.io or mocha-parallel-tests + webdriver.io. If we add some refs in our Why should you choose hermione?, it'll clear up a lot of questions.

@sipayRT @j0tunn what do you think? Could you do that?

from testplane.

sipayRT avatar sipayRT commented on May 30, 2024

@tarmolov tnx, I'll try to explain it in our docs.

from testplane.

vitalets avatar vitalets commented on May 30, 2024

fyi @1999

from testplane.

1999 avatar 1999 commented on May 30, 2024

Кажется прошло полгода, да?

Seems like a huge number of time has passed. My colleagues are using either mocha-parallel-tests + webdriver.io or wdio + mocha-parallel-tests. Feeling okay. Probably ava is also a good choice here.

from testplane.

arikon avatar arikon commented on May 30, 2024

@1999 They should continue to use mocha-parallel-tests if its fits their needs.

I think hermione plays at its best on the huge tests codebase with a lot of browsers on several platforms to run tests at. Like in serp/web4 project.

from testplane.

1999 avatar 1999 commented on May 30, 2024

Right now I'm pretty sure that there's no any reason to use hermione over webdriver.io + ava or webdriver.io + mocha-parallel-tests at all. hermione for me is like a huge library-which-does-everything while mocha-parallel-tests is just a small wrapper on top of mocha which allows parallel suites + --max-parallel <num> and --retry <num>.

Same tests. In different browsers.

If your test is doing something like this:

it('should set like for music track and add it to favorities', async () => {
  await browser.url(...);
  await browser.doesNotExist('.music-track[data-id="...."]');
  await browser.click('.music-track__like-icon');
  await browser.waitForVisible('music-track__liked');
  await browser.url(favoritiesUrl);
  await browser.exists('.music-track[data-id="...."]');
})

Running this test in different browsers in parallel is bad.
But if you still want it, multiremote is available.

from testplane.

arikon avatar arikon commented on May 30, 2024

Running this test in different browsers in parallel is bad.

@1999 Почему?

But if you still want it, multiremote is available.

Из документации Multiremote.

Since more than one browser executes the command we also receive more than one result.
...
Multiremote is not meant to execute all your tests in parallel. It should help you to coordinate more than one browser for sophisticated integration tests.

Эмм... Даже не знаю. По-моему, оно совсем про другое.

Дима, у меня несколько вопросов:

  • Сколько тестов (сьютов / сценариев) в вашем проекте?
  • В каких браузерах эти тесты запускаются?
  • За сколько минут ваши тесты проходят?
  • Запускаете ли вы все тесты на каждый pull request или запускаете их селективно в зависимости от изменений в файлах? Если селективно, то по каким правилам?
  • Бывает ли, что ваши тесты падают и ретраятся? Как часто?
  • Легко ли вам удаётся находить причину падения теста?
  • Вас текущая инфраструктура для запуска тестов устраивает на 100%, или хочется что-то изменить?

@tarmolov Саша, буду благодарен, если тоже сможешь ответить на эти ☝️ вопросы.

PS: К слову, webdriver.io очень плохо написан; вносить туда изменения очень сложно; даже мейнтейнер боится вносить в ядро мало-мальски сложные изменения, которые мы присылаем в PR.

from testplane.

1999 avatar 1999 commented on May 30, 2024

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

Про webdriver.io плохо написанный - не буду спорить, мне не очень понятен его код, особенно сейчас. Но когда я смотрю на selenium-webdriver, у меня глаза вытекают. Hermione вроде бы использует внутри именно webdriver.io и заменить его чем-то не особенно получится в ближайшее время, верно?

Про твои вопросы не очень корректно, Серёж. У вас людей больше, есть выделенные люди на инфраструктуру, отсюда и больше тестов. И тем не менее я до сих пор не вижу причину использовать ваш комбайн, а не чистый webdriver.io (например эта issue все еще открыта). Более того, у нас автотесты появились во вменяемом виде около года назад только моими силами: я начал обучать двух наших ручных тестировщиков описывать регрессию в формате тестов на JavaScript + попутно начал вводить интеграционные тесты через Селениум на каждый пулреквест в КиноПоиске.

Сколько тестов (сьютов / сценариев) в вашем проекте?

Если говорить про регрессию, то выйдет около 300 тестов на фронтенд и бэкенд. В каждом тесте в среднем около 10 тесткейсов. В Телепрограмме около 120 с 20 тесткейсами. Сейчас начинаем этот же путь в Музыке.

В каких браузерах эти тесты запускаются?

Только десктопные Хромиум и Firefox, сейчас начинаем смотреть в сторону мобильных браузеров.

За сколько минут ваши тесты проходят?

В среднем от 3 до 10 минут

Бывает ли, что ваши тесты падают и ретраятся? Как часто?

Бывает, часто. Ретраи в mocha-parallel-tests в 99% решают проблему.

Легко ли вам удаётся находить причину падения теста?

Да

Вас текущая инфраструктура для запуска тестов устраивает на 100%, или хочется что-то изменить?

Всегда хочется чего-то лучше и мы постепенно все это внедряем. Каких-то постоянных болей у нас нет.

from testplane.

tarmolov avatar tarmolov commented on May 30, 2024

Мы только начали писать тесты. Пока не могу ответить на твои вопросы. Через полгодика будет видно :)

from testplane.

sipayRT avatar sipayRT commented on May 30, 2024

например эта issue все еще открыта

а какой смысл его закрывать, если здесь ведется беседа? В доке я отразил все, что посчитал нужным для выбора инструмента. Добавлять в доку сравнения с разными инструментами как-то странно - прийдется постоянно мониторить актуальность этого сравнения. А потом прийдут еще 10 человек и попросят добавить еще сравнение и с другими инструментами. В итоге получится не дока, а сплошное сравнение

Ретраи в mocha-parallel-tests в 99% решают проблему.

видимо, это только из-за того, что тесты гоняются в FF и Chrome (в стабильных браузерах). Если в mocha-parallel-test ничего не поменялось, то тесты перезапускаются в той же сессии, поэтому эит ретраи никак не помогут, если запускать тесты, например, в ie11 или в нагруженных андроидах

from testplane.

1999 avatar 1999 commented on May 30, 2024

Да нет, почему же. В новых сессиях все запускается.

from testplane.

arikon avatar arikon commented on May 30, 2024

@1999 Дима, спасибо за ответы!

Скажи ещё, пожалуйста, используете ли вы WebdriverCSS для тестирования вёрстки скриншотами? Или вы Gemini используете? Или ничего не используете для этого?

И тем не менее я до сих пор не вижу причину использовать ваш комбайн, а не чистый webdriver.io

За сколько минут ваши тесты проходят?

В среднем от 3 до 10 минут

С Hermione ваши тесты могут проходить за 1-2 минуты за счёт запуска в одном браузере в несколько потоков. Неплохая экономия времени разработчика?

Всегда хочется чего-то лучше и мы постепенно все это внедряем. Каких-то постоянных болей у нас нет.

У вас очень ненагруженная инфраструктура тестирования. Нет тяжёлых/проблемных браузеров (Android + ChromeMobile, IE 9-11). В таком случае действительно особо ничего не нужно наворачивать, если скорость прогона тестов устраивает.

from testplane.

arikon avatar arikon commented on May 30, 2024

Мы только начали писать тесты. Пока не могу ответить на твои вопросы. Через полгодика будет видно :)

@tarmolov Будет интересно узнать про ваш опыт

from testplane.

1999 avatar 1999 commented on May 30, 2024

С Hermione ваши тесты могут проходить за 1-2 минуты за счёт запуска в одном браузере в несколько потоков

Звучит немного.. странно :) вы запускаете их в разных вкладках? Если да, это можно было бы вынести в отдельную библиотеку, которую можно было бы подключать и в простой webdriver.io, и в selenium-webdriver, и в hermione.

Для тестирования верстки в Телепрограмме используем WebdriverCSS. Гемини щупали, но впечатления не совпали с ожиданиями.

Про браузеры ты абсолютно прав.

from testplane.

arikon avatar arikon commented on May 30, 2024

Звучит немного.. странно :) вы запускаете их в разных вкладках?

Мы их запускаем на разных машинах в Selenium Grid параллельно.

Если да, это можно было бы вынести в отдельную библиотеку, которую можно было бы подключать и в простой webdriver.io, и в selenium-webdriver, и в hermione.

Нет, это не легко отчуждаемая функциональность, встраиваемая куда угодно.

Для тестирования верстки в Телепрограмме используем WebdriverCSS. Гемини щупали, но впечатления не совпали с ожиданиями.

А вот тут интересны подробности. Какие у вас были ожидания и какие впечатления с ними не совпали? И как давно вы пробовали Gemini?

На сколько я знаю, в WebdriverCSS попиксельное сравнение скроншотов. Оно у вас ни разу не срабатывало ложно? Проблем с мигающей кареткой, например, нет? Или со сглаживанием закруглённых углов, шрифтов и SVG?

from testplane.

1999 avatar 1999 commented on May 30, 2024

Мы их запускаем на разных машинах в Selenium Grid параллельно.

Ну, у нас та же история. Тут разницы никакой нет. А вот про табики идея мне нравится к слову // cc @k03mad

А вот тут интересны подробности. Какие у вас были ожидания и какие впечатления с ними не совпали? И как давно вы пробовали Gemini?
На сколько я знаю, в WebdriverCSS попиксельное сравнение скроншотов. Оно у вас ни разу не срабатывало ложно? Проблем с мигающей кареткой, например, нет? Или со сглаживанием закруглённых углов, шрифтов и SVG?

cc @ixax @siauk ребята, поделитесь опытом про gemini/webdrivercss?

from testplane.

vitalets avatar vitalets commented on May 30, 2024

А вот про табики идея мне нравится к слову

просто напомню, что в неактивных табах Хром очень значительно замедляет js.

from testplane.

k03mad avatar k03mad commented on May 30, 2024

Не особо вижу смысла в табах, мы с mocha-parallel-tests запускаем по отдельному Хрому на каждый тест. Квота позволяет.

from testplane.

1999 avatar 1999 commented on May 30, 2024

@vitalets ты возвращаешь меня на землю :) спасибо!
@k03mad обрати внимание на коммент Виталика

from testplane.

vitalets avatar vitalets commented on May 30, 2024

There are two more tools I found:

from testplane.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.