gpt4 book ai didi

php - 如何让 behat 等待一个元素显示在屏幕上再填充它?

转载 作者:行者123 更新时间:2023-11-28 20:05:39 25 4
gpt4 key购买 nike

当我单击一个按钮时,会打开一个新页面,其中包含一个表单,我需要在该页面上填写一个字段。

但是,一旦页面开始加载,behat 就会尝试填充尚未加载的字段。

我想隐式等待以等待字段显示,然后再尝试填充它。

   /**
* @Given que preencho corretamente os campos da tela
*/
public function quePreenchoCorretamenteOsCamposDaTela()
{
$faker = Faker\Factory::create();
$this->getPage()->findField('voucher_subject')->setValue($faker->text);
$this->getPage()->findField('voucher_nameRecipient')->setValue($faker->name);
}

有谁能帮帮我吗?

最佳答案

从我的角度来看,现在可以做得更优雅:

$page = $this->getSession()->getPage();

$page->waitFor(5,
function () use ($page) {
$field = $page->findField('voucher_subject');
return $field && $field->isVisible();
}
);

您也可以将它包装在一些private 函数中。

关于php - 如何让 behat 等待一个元素显示在屏幕上再填充它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46737255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com