Как я могу включить подстановочный знак или регулярное выражение в тесте Selenium? - PullRequest
0 голосов
/ 22 февраля 2019

У меня есть довольно простой тест Nightwatch, написанный на javascript, и часть его состоит в том, чтобы убедиться, что URL страницы правильный.URL содержит случайную строку чисел при каждой повторной отправке страницы, эта строка чисел будет меняться.Остальная часть URL-адреса является статической и уже учтена.

Я искал и читал и до сих пор не нашел работающего решения, но я не могу представить, что это все та редкая или трудная проблема, которую нужно преодолеть,Я довольно новичок в javascript, поэтому я могу упустить что-то простое, но я действительно могу использовать некоторую помощь.

1 Ответ

0 голосов
/ 22 февраля 2019

Вы можете использовать регулярное выражение для проверки шаблона URL.Используйте \d+ для совпадения с любым количеством цифр.

Например, если URL-адрес, который вы пытаетесь сопоставить, равен www.example.com/path/123, где 123 является динамическим и вы можете изменить его, вы можете использовать следующее регулярное выражение для его проверки.

var url = "www.example.com/path/123";
var regex = /www\.example\.com\/path\/\d+/;
regex.test(url)

Здесь regex.test(url) вернет true для URL, показанного в примере, а также для URL, таких как www.example.com/path/111 или www.example.com/path/4 и т. Д.

Вы можете дополнительно улучшить регулярное выражение дляубедитесь, что он начинается с www, используя ^ в начале регулярного выражения, например /^www\.example\.com\/path\/\d+/

Подробнее о регулярных выражениях здесь

РЕДАКТИРОВАТЬ:

Вот ссылка на JSFiddle Я только что написал с тем же кодом, который читает URL, указанный в поле input, и проверяет его шаблон с помощью регулярных выражений и показывает alert с true или false в зависимости от результата.

В вашем случае я предполагаю, что вы используете селен для чтения текущего URL-адреса вместо чтения его из input.И вам придется изменить регулярное выражение в соответствии с URL-адресом, который вы тестируете.

Вы можете указать тестируемый URL-адрес в поле input и изменить регулярное выражение в JSFiddle для тестирования..

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