Ответ 1
Я попытался предложить жизнеспособное решение в Запись действий с использованием Selenium
Надеюсь, что это поможет.
Возможно ли захватить пользовательский ввод/действие с помощью Selenium WebDriver, так же как вы можете использовать Selenium IDE для записи/создания тестов?
то есть. когда пользователь вводит URL-адрес, щелкает ссылку, заполняет текстовое поле, нажимает кнопку и т.д. и т.д.
Я хотел бы иметь возможность захватить эти действия с помощью WebDriver, а не просто использовать Selenium IDE, поскольку я хочу интегрироваться с другими классами, доступными в моем приложении Java.
Я попытался предложить жизнеспособное решение в Запись действий с использованием Selenium
Надеюсь, что это поможет.
Вы не можете "записать" набор действий с 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
Надеюсь, что это поможет.
Насколько мне известно, нет простого способа сделать это - но запись на IDE и экспорт в виде java файла сработали хорошо для меня (File → Export test case as...). Обычно я делаю это с С#, но использовал его с java.