seeInField找到元素,而fillField则没有 - CodeCeption

Kam*_*n J 6 php unit-testing acceptance-testing codeception

我是CodeCeption的新手.我身体里面有以下html,

<div><input type="text" name="content_id" id="contentId" maxlength="10" value="123"></div>
Run Code Online (Sandbox Code Playgroud)

在CodeCeption验收测试中,我有一个以下代码

`<?php 
$I = new AcceptanceTester($scenario);
$I->wantTo('fillfield test');
$I->amOnPage('/');
$I->seeInField('#contentId', 123);
$I->fillField('#contentId', 222397);
?>`
Run Code Online (Sandbox Code Playgroud)

seeInField测试成功通过,但fillField会抛出错误

抱歉,我无法填写字段"#contentId",222397
InvalidArgumentException:当前节点列表为空

这阻止了我继续前进.帮助我解决这个问题.

Kam*_*n J 6

最后回答了我自己的问题.我使用PhpBrowser模块进行测试,它不允许用户填充不在表单内的字段.他们在文档中提到的其他内容是,

常见的PhpBrowser缺点:

  1. 您只能单击包含有效网址或表单提交按钮的链接
  2. 您无法填写不在表单内的字段
  3. 您无法使用JavaScript交互:模态窗口,日期选择器等,