Selenum-серверу не удается выполнить шаблон регулярного выражения, который проходит в Selenium-IDE - PullRequest
0 голосов
/ 08 ноября 2011

У меня (я думаю) простой вопрос.

Я запускаю тестовые сценарии Selenium (HTML, selense) после успешной сборки в Hudson.Тестовые случаи проходят, когда я запускаю их в IDE после сборки, но не на сервере.Случаи, которые не выполняются, содержат выражение регулярного выражения, например, так:

regexp:The profile details have been updated, it can take up to [0-9]*\s\w*\(.\) until the changes are fully visible.

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

* 1007кто-то сталкивался с такой проблемой и как вы ее решили?

Ответы [ 2 ]

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

Я бы использовал немного более простое выражение, предполагая, что вам не нужно обрабатывать такие вещи, как 1 second, 2 seconds и т. Д., Но нужно обрабатывать только такие вещи, как 1 second(s) или 2 second(s), вы можете использовать это выражение:

попробуйте заменить материал регулярных выражений на

[0-9]+ [a-z]+\(s\)

Некоторые старые разновидности регулярных выражений (POSIX ERE) не допускают классы сокращенных символов, поэтому, если эти правила каким-то образом вызываются, тогдапотерпит неудачу на \s и \w (и, возможно, даже на .).Вышеупомянутое выражение должно работать почти везде;хотя он и не такой гибкий, он должен быть достаточно гибким для вашей ситуации.

Некоторые версии, даже более старые (POSIX BRE), не поддерживают повторение стенографий и фактически по-разному интерпретируют фигурные скобки и скобки.Если это ожидаемый вкус, он может просто не сработать с любым нормальным выражением, и вам нужно будет использовать что-то вроде:

[0-9]\{1,\} [a-z]\{1,\}(s)

Если ни один из этих способов не работает, то существует значительная разница вВ движках, использующих ваше регулярное выражение ИЛИ , существует некоторая разница в том, как страница обрабатывается и обрабатывается / анализируется / анализируется сервером Selenium.

В этом случае, могут быть теги <br> или теги форматирования (например, <i> или <span>), которые анализируются как текст, а не извлекаются из строки.Тогда что-то вроде changes are fully visible может быть проанализировано как changes are <em>fully</em> visible и, таким образом, не пройдёт тест

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

Когда вы тестируете его локально по сравнению с Hudson Run, есть ли различия в платформе ОС?

Я знаю, что у меня были некоторые проблемы с Windows XP и Unix (где был развернут Hudson).Хотя я не думаю, что это здесь, просто мысль.

...