Archive

Posts Tagged ‘productPrice’

Вырезаем доллары

19 December 2011 15 comments

В корзине отображается цена товара следующим образом: $ 123.

Посредством storeText я сохраняю это значение в переменную productPrice, и хочу проверить, правильно ли отображается цена товара ($ 123) + цена упаковки ($ 5).

Проблема: если в переменной помимо цифр находится что-то “лишнее” (буквы, философские вопросы, предложения об увеличении your pencil), то операции плюсования, а равно и минусования и всего такого прочего с подобными переменными невозможны.

Решение: удалить из текста переменной ненужные символы.

// сохраняю со страницы сайта цену товара 
 в переменную productPrice в виде 'as is': '$ 123'.
storeText | //div[@class='product_price'] | productPrice
echo | ${productPrice} | 
// превращаю ненужные мне символы '$ ' в пустоту.
storeEval | storedVars['productPrice'].replace("$ ", "") | productPrice
echo | ${productPrice} |

Теперь в переменной productPrice находится обычное число ‘123’, с которым можно математически делать всё, что нужно.

Чтобы в итоге проверить, что в нужном месте страницы отображается определенный текст (цена товара + цена упаковки = $ 128), предварительно потребуется вернуть циферке предваряющие её символы:

storeEval | '$ '+${productPrice} | productPrice
echo | ${productPrice} |

PS Напоминаю сам себе, что storedVars[‘productPrice‘] и ${productPrice} являются идентичными сущностями, просто первая пишется в нотации JavaScript, а вторая – в нотации Selenium IDE.

Также прошу сам себя оценить силу и возможности автозамены…