Codeception - 如果字段为 true 添加 +1
Codeception - If field true add +1
public function pickOneRoom(\AcceptanceTester $I)
{
$I->wantTo('Pick a available room');
$I->fillField('body > div.mfp-wrap.mfp-close-btn-in.mfp-auto-cursor.mfp-desired-room.mfp-ready > div > div.mfp-content > div > div > div > div.mod-desired-room__filter > div.js-build-desired-choose-room > div.grid.js-desired-room-choose > div > div > div:nth-child(1) > div > input[type="text"]','400');
$this->checkFavRoom($I);
if ($I->see('Sorry try again') == true)
{
$I->fillField('body > div.mfp-wrap.mfp-close-btn-in.mfp-auto-cursor.mfp-desired-room.mfp-ready > div > div.mfp-content > div > div > div > div.mod-desired-room__filter > div.js-build-desired-choose-room > div.grid.js-desired-room-choose > div > div > div:nth-child(1) > div > input[type="text"]','400++');
}
}
这是我到现在为止想到的。我是 php 的新手,不知道如何解决这个问题。
问题
用户在字段中输入房间号,如果该房间已被占用,则会弹出抱歉消息。
这就是我想要达到的目标。
如果房间号。被采用所以它必须增加一个并再次检查它是否可用。
检查由 $this->checkFavRoom($I);
完成。
数字从 400 开始,到 445 结束。
问题是每次他看到该文本时都加一个数字,将字段值加一,这是棘手的部分。
欢迎任何意见。
谢谢。
编辑:
这是我想出来的,问题是它不会做第二个FillField,我真的很无能。
$I->wantTo('Pick a available room');
$I->fillField('body > div.mfp-wrap.mfp-close-btn-in.mfp-auto-cursor.mfp-desired-room.mfp-ready > div > div.mfp-content > div > div > div > div.mod-desired-room__filter > div.js-build-desired-choose-room > div.grid.js-desired-room-choose > div > div > div:nth-child(1) > div > input[type="text"]','400');
$this->checkFavRoom($I);
$I->wait(1);
if($I->See('Sorry try again') == false)
{
$this->submit($I);
}
else
{
$I->wait(1);
$I->fillField('body > div.mfp-wrap.mfp-close-btn-in.mfp-auto-cursor.mfp-desired-room.mfp-ready > div > div.mfp-content > div > div > div > div.mod-desired-room__filter > div.js-build-desired-choose-room > div.grid.js-desired-room-choose > div > div > div:nth-child(1) > div > input[type="text"]','402');
$I->wait(5);
$this->checkFavRoom($I);
$this->submit($I);
}
如果有人需要,请回答:)
您不能像这样将动作用作布尔值:
if($I->see('lorum ipsum')){/*do something*/}
您可以通过使用 try 和 catch 块来分支程序流,如下所示:
<?php
//Using a Codeception action to branch the flow of the script
//This Cept will always pass because the exception is caught
$I = new AcceptanceTester($scenario);
$I->amOnUrl("https://wordpress-bdd.com");
try
{
$I->see("Never for money, always for love.");
echo('This happens if the $I->see works');
}
catch(Exception $e)
{
echo('This happens if the $I->see fails');
}
public function pickOneRoom(\AcceptanceTester $I)
{
$I->wantTo('Pick a available room');
$I->fillField('body > div.mfp-wrap.mfp-close-btn-in.mfp-auto-cursor.mfp-desired-room.mfp-ready > div > div.mfp-content > div > div > div > div.mod-desired-room__filter > div.js-build-desired-choose-room > div.grid.js-desired-room-choose > div > div > div:nth-child(1) > div > input[type="text"]','400');
$this->checkFavRoom($I);
if ($I->see('Sorry try again') == true)
{
$I->fillField('body > div.mfp-wrap.mfp-close-btn-in.mfp-auto-cursor.mfp-desired-room.mfp-ready > div > div.mfp-content > div > div > div > div.mod-desired-room__filter > div.js-build-desired-choose-room > div.grid.js-desired-room-choose > div > div > div:nth-child(1) > div > input[type="text"]','400++');
}
}
这是我到现在为止想到的。我是 php 的新手,不知道如何解决这个问题。
问题
用户在字段中输入房间号,如果该房间已被占用,则会弹出抱歉消息。
这就是我想要达到的目标。
如果房间号。被采用所以它必须增加一个并再次检查它是否可用。
检查由 $this->checkFavRoom($I);
完成。
数字从 400 开始,到 445 结束。
问题是每次他看到该文本时都加一个数字,将字段值加一,这是棘手的部分。
欢迎任何意见。 谢谢。
编辑:
这是我想出来的,问题是它不会做第二个FillField,我真的很无能。
$I->wantTo('Pick a available room');
$I->fillField('body > div.mfp-wrap.mfp-close-btn-in.mfp-auto-cursor.mfp-desired-room.mfp-ready > div > div.mfp-content > div > div > div > div.mod-desired-room__filter > div.js-build-desired-choose-room > div.grid.js-desired-room-choose > div > div > div:nth-child(1) > div > input[type="text"]','400');
$this->checkFavRoom($I);
$I->wait(1);
if($I->See('Sorry try again') == false)
{
$this->submit($I);
}
else
{
$I->wait(1);
$I->fillField('body > div.mfp-wrap.mfp-close-btn-in.mfp-auto-cursor.mfp-desired-room.mfp-ready > div > div.mfp-content > div > div > div > div.mod-desired-room__filter > div.js-build-desired-choose-room > div.grid.js-desired-room-choose > div > div > div:nth-child(1) > div > input[type="text"]','402');
$I->wait(5);
$this->checkFavRoom($I);
$this->submit($I);
}
如果有人需要,请回答:)
您不能像这样将动作用作布尔值:
if($I->see('lorum ipsum')){/*do something*/}
您可以通过使用 try 和 catch 块来分支程序流,如下所示:
<?php
//Using a Codeception action to branch the flow of the script
//This Cept will always pass because the exception is caught
$I = new AcceptanceTester($scenario);
$I->amOnUrl("https://wordpress-bdd.com");
try
{
$I->see("Never for money, always for love.");
echo('This happens if the $I->see works');
}
catch(Exception $e)
{
echo('This happens if the $I->see fails');
}