Перейти к содержимому

Фотография

Ожидание загрузки и обработка системного окна

java seleniumWD

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 7

#1 homyak

homyak

    Новый участник

  • Members
  • Pip
  • 21 сообщений
  • ФИО:Алексей
  • Город:Домодедово


Отправлено 08 июля 2015 - 12:35

Добрый день!

У меня возникла такая проблема. Делаю я экспорт справочников, с выбором формата

В результате открывается новая вкладка, некоторое время загружается и в результате появляется системный диалог сохранения файла, в котором нужно ткнуть "Ок"

 

С загрузкой страницы еще более менее понятно, а вот как мне ткнуть "Ок" в системном окне?


  • 0

#2 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 833 сообщений


Отправлено 08 июля 2015 - 12:42

Роботом надо нажимать, не селениумом. Или всякими AutoIt, White, Sikuli.


  • 0

#3 homyak

homyak

    Новый участник

  • Members
  • Pip
  • 21 сообщений
  • ФИО:Алексей
  • Город:Домодедово


Отправлено 08 июля 2015 - 13:04

Подскажите, куда копать, в каком месте? Что-то сегодня не работает котелок, не могу найти информацию


  • 0

#4 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 833 сообщений


Отправлено 08 июля 2015 - 13:11

import java.awt.Robot;

Robot rr = new Robot();

и читайте что может rr.


  • 0

#5 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 871 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 08 июля 2015 - 19:39

Есть несколько способов сохранить загружаемый файл:

 

1) Использовать, как посоветовали выше, какой-нибудь инструмент, который сможет обработать "нативное" окно
(но если надо делать в разных браузерах -- будут сложности, окно у всех выглядит по разному)

 

2) Установить настройки браузера так, чтобы файлы автоматически загружались и диалог сохранения вообще не появлялся

(тоже не кросс-браузерное решение, хорошо работает только в Firefox, но если интересно -- спрашивайте, расскажу подробнее)

 

3) Загружать файл в обход браузера, при помощи "упрощённого" HTTP-клиента, при этом в него нужно будет перенести из браузера cookies, чтобы загружать файл в рамках той же самой сессии, которая открыта в браузере, более подробно это описано, например, вот в этой статье: http://ardesco.lazer...y-you-shouldnt/

 

4) Загружать файл при помощи прокси

Вот тут описано, как это делать при помощи BrowserMob Proxy:

http://software-test...browsermobproxy


  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#6 homyak

homyak

    Новый участник

  • Members
  • Pip
  • 21 сообщений
  • ФИО:Алексей
  • Город:Домодедово


Отправлено 09 июля 2015 - 07:59

Спасибо!

Я пошел по пути выгрузки файлов автоматически

Для этого настроил профиль FF и при вызове веб драйвера указываю нужный профиль

 

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

Пробовал использовать autoit, но из-за сжатых сроков задачи времени на изучение чего-то было мало, поэтому решил сделать проще


  • 0

#7 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 871 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 09 июля 2015 - 08:47

впереди может появиться задача не экспорта, а импорта, читал, что возможно в строку просто передать путь к файлу

 

Да, простой sendKeys в файловое поле ввода отлично работает, никаких действий с окнами выполнять не нужно.


  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#8 Tishka

Tishka

    Постоянный участник

  • Members
  • PipPipPip
  • 211 сообщений
  • ФИО:Ахрамеев Антон

Отправлено 09 июля 2015 - 10:15

Добрый день!

У меня возникла такая проблема. Делаю я экспорт справочников, с выбором формата

В результате открывается новая вкладка, некоторое время загружается и в результате появляется системный диалог сохранения файла, в котором нужно ткнуть "Ок"

 

С загрузкой страницы еще более менее понятно, а вот как мне ткнуть "Ок" в системном окне?

sendKeys(Keys.ENTER) не пробовали?


  • 0



Темы с аналогичным тегами java, seleniumWD

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных