как прочитать значение и передать его в качестве параметра на следующий шаг в Watir - PullRequest
1 голос
/ 13 февраля 2012

Я новичок в watir, и мне нужно знать, как получить значение, отображаемое в браузере, и передать его в качестве параметра на следующий шаг.Вот как выглядит HTML.

Текст - xxxx гггг zzzz aaaa

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

Ответы [ 2 ]

4 голосов
/ 13 февраля 2012
cardnumber = browser.text.scan /\d{4} \d{4} \d{4} \d{4}/
other_function(cardnumber)
2 голосов
/ 13 февраля 2012

Если этот номер карты содержится в элементе HTML, таком как ячейка div / span / table, то используйте его, чтобы найти нужный бит текста.

Например, если ваш HTML был такой:

<div class="CC_Number">1234 5678 9012 3456</div>

Тогда вы можете использовать такой код:

cardnumber = browser.div(:class => "CC_Number").text
other_function(cardnumber)

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

"Номер вашей кредитной карты: 1234 5678 9012 3456."

cardnumber = browser.text              #get all browser text
     #"Your credit card number is: 1234 5678 9012 3456."
cardnumber = cardnumber.split(":")     #split the text at every colon
     #[0] = "Your credit card number is"
     #[1] = "1234 5678 9012 3456."
cardnumber[1].gsub(".", "")            #replace all instances of "." with ""
     #cardnumber = "1234 5678 9012 3456"

Пример регулярного выражения для поиска номера карты см. В ответе @Dave McNulla ниже.

...