在 Ubuntu 18 上运行 Codeception 和 Selenium 时,一切正常:
PhpDriver 测试示例:
public function loadWidgetPage(AcceptanceTester $I)
{
$I->amOnPage("/en/system/widget.php?id=22002");
$I->see("Widget:");
$I->dontSee("error");
$I->dontSeeInSource("Fatal error");
}
现在我正尝试在 Ubuntu 22 上使用 Codeception 和 Selenium Standalone 运行相同的测试。
我明白了
Failed asserting that on page /en/system/widget.php?id=22002
--> Widget - | Acme Widget Settings [redacted]
[Content too long to display. See complete response in '/home/vagrant/widgeter/tests/_output/' directory]
--> does not contain "error".
然而,在隐藏字段甚至警告文本字符串中都检测到了“错误”一词:
<script type="text/javascript" charset="utf-8">
$(document).ready(function(){
$("#inquiry").bind("click", function(e) {
$.post("/en/system/inquiry.php", postData,
function(data){
if(data == "NG"){
alert("Error erasing inquiry. Are you logged in?");
}
}
);
});
</script>
Selenium Standalone 可以忽略用户不可见的字符串吗?
我的 Ubuntu 版本:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.1 LTS
Release: 22.04
Codename: jammy