Php 如何解决;“元素不可交互”;有ChromDriver和yii2吗?
首先,我使用OpenServer,我使用ChromeDriver,如下所示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
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脚本,它可以正常工作。