автоматическая загрузка файлов selenium ide 2.8 на mac

У меня возникла проблема с автоматической загрузкой файла на веб-сайт.

Я использую selenium IDE версии 2.8 через firefox 31 на Mac, чтобы протестировать процесс веб-системы через браузер в своей работе. В какой-то момент процесса мне требуется загрузить файл Excel.

Я искал на многих форумах и в блогах решение, специально предназначенное для работы на MacOS X с Firefox с Selenium IDE, но ни одно из них не помогло.

В моем сценарии у меня есть:

command : click

Target : name=...

value :

эта строка нажмет на кнопку с текстовым словом «выбрать файл», и появится диалоговое окно «Загрузка файла», чтобы я мог выбрать файл, который я хочу загрузить.

команда: Тип Цель: driver.FindElement(By.Id("Загрузка файла")) Значение: /Users/...../excel.xlsx

эта строка должна найти элемент по пути id в «загрузке файла» и выбрать путь к файлу, указанный мной в столбце значений.

возникла проблема: [ошибка] Элемент driver.FindElement(By.Id("Загрузка файла")) не найден

Насколько я понимаю, я не уверен, что это правильно, но из того, что я прочитал и понял, это работает для других, но не для меня. Я что-то пропустил?


person Mervin    schedule 02.12.2014    source источник


Ответы (2)


Для этой части:

команда: Тип Цель: driver.FindElement(By.Id("Загрузка файла")) Значение: /Users/...../excel.xlsx

Можете ли вы изменить цель на id=File Upload ?

person Dan    schedule 09.12.2014
comment
это было одним из первых, что я попробовал в начале, но из-за кнопки загрузки файла скрипт выполняет щелчок по браузеру, чтобы открыть диалоговое окно окна Mac, чтобы я мог выбрать файл. Обычно я продолжаю получать сообщение об ошибке Элемент не найден, будь то id=File Upload или driver.FindElement(By.Id(File Upload)) - person Mervin; 10.12.2014
comment
Это довольно странно, вот как я действовал при загрузке файла в одном из моих автоматических тестов. Возможно, наши элементы работают по-другому? тип | идентификатор = ввод файла | /Пользователи/Дэн/Загрузки/NewPOFile.csv - person Dan; 10.12.2014

всплывающее окно, о котором вы говорите, является всплывающим окном ОС, которое вы не можете просто использовать с селеном, отправьте ключ в тег с помощью xpath что-то вроде " //input[@type='file'] " и затем отправьте форму

person Bilal Naqvi    schedule 15.12.2014
comment
влияет ли версия selenium ide и тип браузера (chrome, FF) на тип элемента, который нужно указать в столбце команды? - person Mervin; 16.12.2014
comment
xpath одинаков для всех IDE и браузеров, просто укажите путь для проверки, попробуйте его вручную, то есть вы щелкнете по тегу ввода, чтобы выбрать файл, и когда вы выбираете файл, он автоматически загружает его для вас, если нужно нажать какая-то кнопка отправки, тогда вам тоже нужно иметь дело с этим :) счастливого обучения - person Bilal Naqvi; 16.12.2014
comment
большое спасибо. Я только что получил информацию, на самом деле веб-сайт, над которым я работаю, имеет некоторые ошибки в интерфейсе, поэтому он не показывает путь к файлу, но в любом случае //input[@type='file'] теперь работает для меня. - person Mervin; 23.12.2014