如何使用 Codeception 在验收测试中断言 jQuery 设置的值?

How to assert value set by jQuery in Acceptance Test using Codeception?

我正在用 WordPress 编写一个用于管理狗收养的应用程序。在一种情况下,用户 select 是 select 的主要品种和另一个 select 的次要品种。当他们选择品种时,输入(只读)字段将填充 2 selects.

的值

我想对此进行测试,并且我已经编写了一个验收测试来执行此操作。选择 select 中的狗品种,并通过 jQuery:

将值添加到输入中

Image of Field with Dog Value filled out

麻烦的是,当我尝试断言文本存在时,我不断出错,测试失败。下面几行是我试过的:

$I->see('Kelpie X');
$I->seeElement( '#acf-field_mdr_dog_text_breed_name', ['value' => 'Kelpie X']);
$I->seeInField( 'input#acf-field_mdr_dog_text_breed_name', 'Kelpie X');

为什么这些条件没有通过?是不是因为 jQuery 设置了值就一定要这样做?

谢谢!

我不确定为什么第一个不起作用,但我注意到输入文本字段中的值在 X 之后有一个 space。显然 seeInField & seeElement 非常严格,所以这就成功了:

// Note the space after the X
        $I->seeElement( 'input#acf-field_mdr_dog_text_breed_name', ['value' => 'Kelpie X ']);
        $I->seeInField( 'input#acf-field_mdr_dog_text_breed_name', 'Kelpie X ');