Php 如何解决;“元素不可交互”;有ChromDriver和yii2吗?

Php 如何解决;“元素不可交互”;有ChromDriver和yii2吗?,php,yii2,codeception,Php,Yii2,Codeception,首先,我使用OpenServer,我使用ChromeDriver,如下所示 D:\ChromeDriver\ChromeDriver.exe--url base=/wd/hub 我的接受 class_name: AcceptanceTester modules: enabled: - WebDriver: url: http://arctic/ window_size: false # disabled in Chr

首先,我使用OpenServer,我使用ChromeDriver,如下所示

D:\ChromeDriver\ChromeDriver.exe--url base=/wd/hub

我的接受

class_name: AcceptanceTester
modules:
    enabled:
        - WebDriver:
              url: http://arctic/
              window_size: false # disabled in ChromeDriver
              port: 9515
              browser: chrome
        - Yii2:
            part: orm
            entryScript: index-test.php
            cleanup: false
我的入学考试

public function _before(AcceptanceTester $I)
{
    $I->amOnPage('/admin');
    $I->fillField('FormLogin[username]', 'admin');
    $I->fillField('FormLogin[password]', 'admin');
    $I->click('Войти');
    $I->click('Меню');
}
我犯了这个错误

1) AdminMenuAcceptCest: Try to test
 Test  tests\acceptance\AdminMenuAcceptCest.php:tryToTest

  [Facebook\WebDriver\Exception\ElementNotInteractableException] element not interactable
  (Session info: chrome=80.0.3987.100)  


Scenario Steps:

 2. $I->fillField("FormLogin[username]","admin") at tests\acceptance\AdminMenuAcceptCest.php:8
 1. $I->amOnPage("/admin/main") at tests\acceptance\AdminMenuAcceptCest.php:7

#1  D:\OSPanel-new\domains\arctic_dev\vendor\php-webdriver\webdriver\lib\Exception\WebDriverException.php:95
#2  D:\OSPanel-new\domains\arctic_dev\vendor\php-webdriver\webdriver\lib\Remote\HttpCommandExecutor.php:370
#3  D:\OSPanel-new\domains\arctic_dev\vendor\php-webdriver\webdriver\lib\Remote\RemoteWebDriver.php:584
#4  D:\OSPanel-new\domains\arctic_dev\vendor\php-webdriver\webdriver\lib\Remote\RemoteExecuteMethod.php:27
#5  D:\OSPanel-new\domains\arctic_dev\vendor\php-webdriver\webdriver\lib\Remote\RemoteWebElement.php:60
#6  Codeception\Module\WebDriver->fillField
#7  D:\OSPanel-new\domains\arctic_dev\tests\_support\_generated\AcceptanceTesterActions.php:1505
#8  D:\OSPanel-new\domains\arctic_dev\tests\acceptance\AdminMenuAcceptCest.php:8
#9  AdminMenuAcceptCest->_before

我试图检查
$I->seelement()
中是否存在字段of,但它没有看到它。

这可能对某些人有帮助,这是我的解决方案:

public function _before(AcceptanceTester $I)
    {
        $I->amOnPage('/admin');
        $I->executeInSelenium(function(\Facebook\WebDriver\Remote\RemoteWebDriver $webdriver) {
            $webdriver->executeScript("$('#login_block').modal('show');");
        });
        $I->wait(5);
        $I->fillField('FormLogin[username]', 'admin');
        $I->fillField('FormLogin[password]', 'admin');
        $I->click('Войти');
    }

看到这个帖子@MuhammadOmerAslam,谢谢。我执行显示模式窗口的JS脚本,它可以正常工作。