Поведенческий тест: извлеките значение из ввода, умножьте его на число и сопоставьте результат.

У меня есть один TEXTBOX (только для чтения), который содержит случайное значение, например, например. 2 (это количество товара). Рядом с ним есть КНОПКА (кнопка плюс) и ДИАПАЗОН, чтобы показать результат.

Теперь каждый раз, когда я нажимаю кнопку «Плюс», она должна УМНОЖАТЬ 5 (это цена продукта) на число в текстовом поле (количество продукта) и отображать результат в SPAN.

<input type="text" readonly="readonly" value="2" id="product-qty" />
<button id="add-qty" value="Add Quantity"/>
<span id="show-result">10</span>

Теперь, используя тест поведения, я пишу функцию для вышеуказанного сценария. Может кто-нибудь, пожалуйста, помогите мне написать это.

Проблема в том, как мне получить значение из текстового поля и умножить его на 5? И сопоставьте его со значением в SPAN.

Scenario: Check product cart
  Given I am on "detail-page"
  When I click on the element "#add-qty"
  #fetch value from the input multiply by it 5 and match the value with the content in the SPAN
  And I wait 2000 milliseconds
  Then I should see "Product added successfully"

person Ruprit    schedule 13.10.2015    source источник


Ответы (1)


Один из способов — создать определение шага для вашей функциональности.

Вы можете добавить And I add quantity for "product-qty" в свой сценарий.

А затем в свой FeatureContext.php (или аналогичный) добавьте что-то вроде этого:

    /**
 * @Given I add quantity for :arg1
 */
public function iAddQuantityFor($arg1)
{
    $this->pressButton('Add Quantity');

    $page = $this->getMink()->getSession()->getPage();
    $quantity = (int)$page->find('css', '#product-qty')->getAttribute('value');

    $result = $quantity * 5;
    $actual = (int)$page->find('css', '#show-result')->getHtml();

    if ($result !== $actual) {
        throw new \Exception('Incorrect result');
    }
}
person Adoni    schedule 13.10.2015