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的新手,不知道如何解决这个问题。
问题
用户在字段中输入房间号码,如果拍摄了房间,则会弹出抱歉消息。
这就是我想要实现的目标。
如果房间Nr。这是必须增加1并再次检查它是否可用。
检查由$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);
}
答案 0 :(得分:1)
你不能使用像这样的bool:
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');
}
答案 1 :(得分:0)