Захват ввода и действий пользователя с помощью Selenium WebDriver с использованием Java

Возможно ли захватить пользовательский ввод/действие с помощью Selenium WebDriver, так же как вы можете использовать Selenium IDE для записи/создания тестов?

то есть. когда пользователь вводит URL-адрес, щелкает ссылку, заполняет текстовое поле, нажимает кнопку и т.д. и т.д.

Я хотел бы иметь возможность захватить эти действия с помощью WebDriver, а не просто использовать Selenium IDE, поскольку я хочу интегрироваться с другими классами, доступными в моем приложении Java.

Ответ 2

Вы не можете "записать" набор действий с Selenium WebDriver, вам нужно будет написать эти шаги вручную.

Строго говоря, вы можете захватывать ввод пользователя с помощью API WebDriver на выбранном вами языке (C#, Java, PHP, Ruby. Python, Perl or JavaScript), и он смутно напоминает DOM. Если это соответствует вашим требованиям, вы можете использовать файлы конфигурации для подачи некоторых ваших пользовательских данных.

Перейдите к URL-адресу:

WebDriver driver = new FirefoxDriver();

driver.get('url')

Нажмите ссылку/кнопку:

WebElement element = driver.findElement(By.id("coolestWidgetEvah"));

element.click();

Введите текст в поле:

WebElement element = driver.findElement(By.id("coolestWidgetEvah"));

element.sendKeys('userinput');

Для получения дополнительной информации о штаб-квартире API Selenium достаточно однозначно:

http://seleniumhq.org/docs/03_webdriver.html#introducing-the-selenium-webdriver-api-by-example

Если вы переходите от Selenium IDE к написанию тестов, было бы очень полезно проверить шаблон объекта страницы, поскольку я обнаружил, что его тесты более удобны в обслуживании в долгосрочной перспективе. Эта ссылка является хорошей отправной точкой, потому что она дает обзор и визуальное представление того, что вы получаете, следуя шаблону:

http://blog.josephwilk.net/cucumber/page-object-pattern.html

Надеюсь, что это поможет.

Ответ 3

Насколько мне известно, нет простого способа сделать это - но запись на IDE и экспорт в виде java файла сработали хорошо для меня (File → Export test case as...). Обычно я делаю это с С#, но использовал его с java.