我遇到了代码测试失败的奇怪问题。
有时,链接/按钮上使用的点击方法不会重定向到页面。 有时它确实如此,但代码选择无法识别它(我在输出中看到重定向工作的图像)。 有时它完全没问题,测试运行率为100%。
我在jenkins上使用带有phantomjs 2.1.1的codeception 2.2.1版本。
有问题的测试之一:
$I->wantTo('verify that recent comments module are correctly presented');
$I->amOnPage('/pl/');
$I->click('.cookie-policy-info__btn-close');
$I->see('Najciekawsze opinie', '.section-title-bar');
$I->seeElement('.hp-recent-opinions.one-column-product-wrapper');
$I->seeElement('ul.slides:nth-child(1) > li > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > a:nth-
$I->click('ul.slides:nth-child(1) > li > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > a:nth-child
$I->seeInCurrentUrl('/audiobook/');
$I->moveBack(1);
$I->click('ul.slides:nth-child(1) > li > div.product-tile > div.product-tile__desc > div.product-tile__author
$I->seeInCurrentUrl('/search/author?');
$I->moveBack(1);
$this->titleCss() = 'ul.slides:nth-child(1) > li > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > a:nth-child(1)'
和代码输出:
5) ContentModulesCest: Verify that recent comments module are correctly presented
Test tests/acceptance/ContentModulesCest.php:recentCommentsModule
Step See in current url "/foobar/"
Fail Failed asserting that '/pl/' contains "/foobar/".
Scenario Steps:
8. $I->seeInCurrentUrl("/foobar/")
7. $I->click("ul.slides:nth-child(1) > li > div:n...")
6. $I->seeElement("ul.slides:nth-child(1) > li > div:n...")
5. $I->seeElement(".hp-recent-opinions.one-column-prod...")
4. $I->see("Najciekawsze opinie",".section-title-bar")
在图像上,我看到了该页面。有点奇怪。 任何想法如何阻止随机失败?
答案 0 :(得分:2)
当Codeception尝试单击时,该元素可能不可见(尚未加载)。尝试在click
方法之前使用waitForElementVisible方法。
它也可以与PhantomJS版本连接。我有很多奇怪的问题 - 一切皆有可能。