问题是我的代码接受测试实际上通过了,并且单击了按钮,但是由于某种原因,由于标题错误,它不再继续。
$ I-> click('onsomefield');
$ I-> fillField(['name'=>'password'],'password');
$ I-> waitForJS(“ letbutton = document.querySelectorAll('button'); buttons.forEach(function(button){button.style.disabled = false});返回按钮[1] .click() “,10);
我希望我的考试能够通过,但是出现标题错误
完整的错误文本是:
[Facebook \ WebDriver \ Exception \ UnexpectedJavascriptException] JavaScript错误:无法读取属性“ click” 未定义 (会话信息:chrome = 75.0.3770.142) (驱动程序信息:chromedriver = 75.0.3770.140(2d9f97485c7b07dc18a74666574f19176731995c-refs / branch-heads / 3770 @ {#1155}),platform = Windows NT 10.0.18362 x86_64)
答案 0 :(得分:1)
我解决了问题。
在我的情况下,前端处于反应状态,我猜想,按钮没有ID,我尝试了很多选项,并且尝试了executeJS等待executejs,实际上它起作用了,但是我仍然抛出标题错误这个问题,发现here有一个特殊的班级
Codeception \ Util \ Locator
它可以与单击一起使用,因此将定位器设置为
use Codeception\Util\Locator;
$I->click('login' , Locator::lastElement('#login-methods-body-user_credentials'));
有用,我希望您可以在那里选择一个适合您的选项。