Как вы управляете автоматизацией веб-локализаций (в частности, Selenium) эффективным образом? - PullRequest
1 голос
/ 23 ноября 2011

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

Каждые две недели нам нужно запускать наш пакет автоматизации.У нас есть команда поддержки, посвященная этой задаче.Однако каждая страна добавляет часы к запуску набора тестов, и у нас есть много наборов тестов.Мы почти на критической нагрузке.У нас едва хватает времени для запуска пакета раз в спринте, и мы собираемся превзойти его в ближайшие несколько месяцев.

Есть ли способ сократить время, затрачиваемое на язык?Есть ли какие-то общие предположения, которые вы можете сделать из тестирования одного языка, что вы можете пропустить одну и ту же страницу для другого?

В частности, о Selenium, есть ли способы ускорить этот процесс?Нам действительно нужно использовать много селекторов xpath - будет ли работать с командой разработчиков, чтобы получить лучший HTML-макет для того, чтобы использовать селекторы id / css, чтобы значительно улучшить синхронизацию?

Ответы [ 3 ]

1 голос
/ 23 ноября 2011

Если у вас есть несколько сайтов для тестирования с одним и тем же кодом, и тесты не мешают друг другу, Selenium Grid должен выполнить эту работу за вас.Это потребует некоторых дополнительных усилий - и, возможно, некоторого дополнительного оборудования - но после правильной настройки количество языков, которые вы можете протестировать, ограничивается только количеством одновременных тестов, с которыми может работать аппаратное обеспечение.до CSS может дать значительные улучшения производительности .Как правило: по возможности используйте CSS;XPath следует использовать только как запасной вариант.Вещи, которые не поддерживает CSS, например, навигация к родительским узлам или сопоставление содержимого элемента, поэтому не стесняйтесь использовать XPath, когда это выгодно.Вам также следует ознакомиться с соответствующими публикациями в этом блоге: они предлагают дополнительные справочные материалы и советы по миграции.

0 голосов
/ 24 ноября 2011

Как вы можете видеть из другого поста и комментариев, вам может потребоваться провести эксперимент на своей странице, чтобы определить, какой подход найдет ваши элементы быстрее всего.Одна вещь, которую я обнаружил, заключалась в том, что поиск только элементов-потомков определенно ускоряет работу на больших страницах, поэтому мы часто найдем элемент контейнера, такой как div, а затем найдем его потомков следующим образом:

IWebElement myDiv =myWebDriver.FindElement (By.ID ( "DIVID"));IWebElement origin: = myDiv.FindElement (By.ID ("downndantId"));

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

С учетом сказанного, я думаю, что есть важный вопрос, который не задаюти это ... Что вы получаете от запуска ваших автоматических тестов на нескольких языках?Вызывает ли изменение языка проблемы с функциональностью?Некоторые тесты для форматов даты и т. Д. Полезны и могут быть автоматизированы, но если единственным отличием является язык, то если вы не можете проверить, правильно ли переведены строки и верны ли они в контексте (чего вы не можете, если не говорите всеэти языки свободно и хотят поддерживать огромный список строк на разных языках), тогда это на самом деле не стоит много.Я бы предложил запустить небольшое подмножество ваших автоматических тестов на разных языках и сократить количество этих разных языков до нескольких, основываясь на их наборах символов и / или различиях форматирования.Самые большие проблемы, которые возникают у вас с разными языками, - это проблемы с макетом, когда длинные строки могут привести к тому, что элементы станут больше, чем ожидалось, и вызвать проблемы.Большинство этих проблем с макетом в любом случае не будет замечено вашей автоматизацией, если у вас нет чрезвычайно зрелой (и, вероятно, неэффективной) модели автоматизации, которая проверяет макет страницы.Вам лучше получить сборку Pseudo-loc, которая автоматически увеличивает строки и гарантирует, что вы фактически переводите весь свой текст и выполняете один тестовый тест для этой сборки псевдо-loc.

Соответствующий пост и ответ оЭффективность проверки текста на нескольких языках можно узнать здесь: https://sqa.stackexchange.com/questions/1949/do-you-verify-presence-of-text-in-your-automated-tests/1958#1958

0 голосов
/ 23 ноября 2011

Я провел несколько проверок текущего браузера на странице с 500 элементами, и вот некоторые из тестов, которые я получил.Возможно, стоит потратить время на настройку тестовой программы, чтобы периодически (в новых выпусках браузера) вы могли перепроверять тесты.Я проверил мой, используя Firefox 7, IE9 и Webdriver 2.11.0.Каждый тест 5 раз проверял один и тот же элемент, а затем определял средний ответ.

SUMMARY:FirefoxDriver [5 tries] =========================
Find By ID Avg: 169 ms
Find By Name Avg: 17 ms
Find By Relative XPath Avg: 7 ms
Find By Absolute XPath Avg: 6 ms
Find By CssSelector Avg: 6 ms
Find By ClassName Avg: 5 ms
=========================
SUMMARY:InternetExplorerDriver [5 tries] =========================
Find By ID Avg: 309 ms
Find By Name Avg: 90 ms
Find By Relative XPath Avg: 82 ms
Find By Absolute XPath Avg: 82 ms
Find By CssSelector Avg: 53 ms
Find By ClassName Avg: 75 ms
=========================

Запуск Selenium Grid для запуска нескольких экземпляров также является отличным способом повышения производительности.Я предполагаю, что с виртуальным сервером вы сможете легко создавать несколько тестов, которые не конфликтуют.Также, если вы можете использовать HTMLUnitDriver, так как он намного более эффективен, чем любой другой браузер (я не уверен, что ваши требования указывают, что вам нужно использовать настоящий браузер, несколько браузеров или просто проверку).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...