WebDriver

material ui (react) Клик по selectbox с помощью selenium

Обратите внимание, что для набора пропосов:

id="call_to_action_selectbox"
value={props.entityData.call_to_action || ''}
onChange={handleButtonTextChange}
inputProps={{
  name: 'call_to_action',
  id: 'call_to_action',
}}

selectbox из материал ui построит такой html (в моем случае это было так), что id кликабельного блока (который и показывает выпадающий список) будет написан как:

select-call_to_action

Далее идея простая:

codeception WebDriver Не работает клик по селектбокс (не ссылка, не кнопка)

Вместо click() можно использовать clickWithLeftButton()
Например:

$I->clickWithLeftButton(['css' => '.checkout'], 20, 50);

-- для этой функции даже можно задать смещение относительно левого угла элемента.

Material UI (react)

В моем случае была проблема с псевдо-селекбоксом из material ui (click-ом выпадающий список не открывался).

Обновлено: click() в моем случае тоже подошел, просто нужно было проскроллить окно так, чтобы элемент был виден.

codeception webdriver scroll Прокрутка к элементу только в вертикальном направлении

Одним из самых простых решений может быть установка досточно большого отрицательного отступа по горизонтали:

public function tryTest(AcceptanceTester $I)
{
        $I->scrollTo('#my-element-id', -300, 0);
        $I->wait(1); 

 }

-- поможет если слева у вас зафиксированное меню перекрывает прокрученный блок

codeception Остановить закрытие браузера

В codeception 3 можно использовать паузу:

<?php use App\Tests\AcceptanceTester;
$I = new AcceptanceTester($scenario);
$I->wantTo('perform actions and see result');
$I->amOnPage('/');
$I->seeCurrentUrlEquals('/app/login');

$I->wait(5); // подождет 5 секунд

-- сработает, если тест проходит успешно.

selenium webdriver Быстрый старт на PHP: Как начать в Linux (Ubuntu) на локальной машине

В этой заметке расскажем о быстром старте. Нашей целью будет открытие нужной нам странице в браузере chrome через команду из php-кода (и на этом все так как остальное - это уже задача кода вашего тестов, подробнее см. наш раздел о Селениуме).

Настройка Selenium и его зависимостей

Делаем следующее:

WebDriver - что это такое (протокол )

WebDriver -- это протокол, описывающий, как внешная программа может управлять веб-клиентом (браузером).

Знаменитым набором инструментов для такого управления является selenium.

Subscribe to RSS - WebDriver