0
私はLaravelアプリケーションをテストするためにCodeception 2.2.6を使用しています。私は、フォームでページを開き、いくつかのフィールドを塗りつぶし、ボタンをクリックする簡単なテストをしています。私は、テストを実行すると、クリック段階まで正常に動作し、それが次のエラーで失敗します
[ErrorException] Undefined property: DOMDocument::$tagName
スタックトレースは、エラーがCodeception\Lib\InnerBrowser.php
にclickButton
方法から発生していることを示しています。
/**
* Clicks the link or submits the form when the button is clicked
* @param \DOMNode $node
* @return boolean clicked something
*/
private function clickButton(\DOMNode $node)
{
$formParams = [];
$buttonName = (string)$node->getAttribute('name');
$buttonValue = $node->getAttribute('value');
if ($buttonName !== '' && $buttonValue !== null) {
$formParams = [$buttonName => $buttonValue];
}
while ($node->parentNode !== null) {
$node = $node->parentNode;
if ($node->tagName === 'a') {
$this->openHrefFromDomNode($node);
return true;
} elseif ($node->tagName === 'form') {
$this->proceedSubmitForm(
new Crawler($node),
$formParams
);
return true;
}
}
return false;
}
私は問題のない別のページをクリックする他の同様のテストがあります。誰かがエラーの原因を突き止めるのを助けることができます
をあなたはhttps://github.com/Codeception/Codeception/issuesで問題を提起でしたし、そのエラーの原因となったHTMLのサンプルを提供しますか?ありがとう – Naktibalda
ここに行く:https://github.com/Codeception/Codeception/issues/3783。それは不適切に閉じたタグではなく、不適切に開いたフォームタグだったことが判明しました。上記の私の答えをより明確に編集しました。 – ralbatross