我有一个TEXTBOX(readonly),其中包含一些随机值,例如ex。 2(这是产品数量)。 除此之外还有一个BUTTON(加号按钮)和一个SPAN来显示结果。
现在,每当我点击加号按钮时,它应该是MULTIPLY 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"
答案 0 :(得分: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');
}
}