行为测试:从输入中获取一个值,将其乘以一个数字并匹配结果

Behat Test: Fetch a value from Input, Multiply it by a Number and Match the Result

我有一个 TEXTBOX(只读),其中包含一些随机值,例如 ex。 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>

现在使用 behat 测试,我正在为上述场景编写功能。 有人可以帮我写这个吗

问题是如何从文本框中获取一个值并将其乘以 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"

一种方法是为您的功能创建一个步骤定义。

您可以在您的场景中添加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');
    }
}