У меня вопрос, который уже связан с этой проблемой, но этот вопрос подходит для другого подхода.Замена текста регулярным выражением Ruby Capybara
У меня есть строка текста на веб-странице, которая производит включает временную метку (hhmmss) после завершения транзакции.
Я не могу использовать Time.now, так как время обработки варьируется в зависимости от многих факторов.
Текст на странице:
"Your transaction reference number is: 0 16123 (timestamp is here) A1"
Я буду искать внутри элемента, чтобы прочитать текст в моем тесте с:
expect(find(location)).to have_text trans_text
Могу ли я установить расположение текста в качестве переменной :
trans_text = find(location, text: 'Your transaction reference number is: 0 16123 (timestamp is here) A1')
затем заменить временную метку регулярным выражением, а затем ожидать, чтобы временная метка была между двумя раз?
Я пробовал делать:
trans_text = find(location, text: 'Your transaction reference number is: 0 16123 (\d+) A1')
Но не было никакой радости. Я получаю следующую ошибку:
Unable to find css "#main > div > div.section-content > div.two-col.retention-success > div.second-col > div.alert-complete > p" with text "Your retention certificate number is: 0 16123 (/d+) A1".
Как я могу ввести регулярное выражение, чтобы заменить часть метки времени текста?
Благодаря
Wh в формате это метка времени, можете ли вы привести пример? Попробуйте '(\ w +)' вместо '(\ d +)' или даже '(. * +)' – Druzion
Формат (hhmmss). «Ваш ссылочный номер транзакции: 0 16123 120000 A1 ')». strftime будет ('% H% M% S') – Tom
Я отредактировал, чтобы добавить показать ошибку, которую я получаю – Tom