Ошибка использования seeElement () в PhantomJS

Я использую Codeception для тестирования моего приложения Yii2.

Я переключился с PhpBrowser по умолчанию на PhantomJS 2, так как PhpBrowser не может обрабатывать нативное всплывающее окно javascript, такое как «verify ()» для приемочного тестирования.

поэтому я изменяю свою конфигурацию accept.suite.yml на эту:

class_name: AcceptanceTester
modules:
enabled:
- WebDriver
- tests\codeception\_support\FixtureHelper
config:
WebDriver:
url: http://www.lppm.local
browser: firefox
window_size: 1366x768
restart: true

и это мой тестовый скрипт:

<?php
use \tests\codeception\_pages\PeriodPage;

$I = new AcceptanceTester\AdminSteps($scenario);
$I->wantTo('Ensure that period access right is working fine');

$I->amGoingTo('Go to period main page');
PeriodPage::openBy($I);
$I->expectTo('See Action Buttons in grid view');
$I->seeElement('.glyphicon-trash');
$I->seeElement('.glyphicon-pencil');

$I->amGoingTo('Create a new period');
$I->click(PeriodPage::$create_button);
$I->seeInCurrentUrl('period/create');
$I->fillField('input[name="Period[name]"]', 'New Period');
$I->fillField('input[name="Period[start_date]"]', '2014-01-01');
$I->fillField('input[name="Period[end_date]"]', '2014-08-01');
$I->click('Create');

$I->expectTo('Redirected to the new period detail page');
$I->seeInCurrentUrl('period/view');
$period_url = $I->grabFromCurrentUrl();


$I->wantTo('Ensure period access right is working fine for normal user');
$normal_user = $I->haveFriend('Normal User');
$normal_user->does(function(\AcceptanceTester\GuestSteps $I) use ($period_url, $scenario){
$I->login('user', 'user');
$I->see('User, '.dropdown-toggle');
$I->wantTo('Ensure that no action button is available in view page');
$I->amOnPage($period_url);
$I->dontSee('.btn');

$I->wantTo('Ensure that no action button is available in index page');
PeriodPage::openBy($I);
$I->dontSee(PeriodPage::$create_button);
$I->dontSeeElement('.glyphicon-trash');
$I->dontSeeElement('.glyphicon-pencil');
});

но я получаю эту ошибку при запуске скрипта с включенным PhantomJS:

Был 1 сбой:

——— 1) Не удалось убедиться, что право доступа на период работает нормально в PeriodAccessRightCept
(/Var/www/lppm/tests/codeception/acceptance/PeriodAccessRightCept.php)
Не удалось увидеть элемент «.glyphicon-trash»: не удалось подтвердить, что
массив не пустой.

этот скрипт работает нормально, когда я использую PhpBrowser

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …