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

Фотография

Не получается сохранить файл


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

#1 egors

egors

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

  • Members
  • Pip
  • 27 сообщений
  • ФИО:Кузьмин

Отправлено 27 января 2010 - 17:25

Здравствуйте!

Требуется сохранить файл, нажимаю на ссылку, появляется следующее окно:

Изображение

Не удается получить доступ к нему, пробовал обратится как к confirmation, доступа нет.

Каким способом возможно сохранить?
  • 0

#2 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 27 января 2010 - 18:39

Здравствуйте!

Требуется сохранить файл, нажимаю на ссылку, появляется следующее окно:

Изображение

Не удается получить доступ к нему, пробовал обратится как к confirmation, доступа нет.

Каким способом возможно сохранить?

Это стандартный диалог сохранения файла в ФаерФоксе. Соответственно, селениум его не видит.
Вариантов обхода данной проблемы я вижу 3:
1. Установить флаг "Выполнять указанное действие для всех файлов данного типа автоматически" и сохранить файл (убедиться, что ФФ запущен с тем же профилем, что используется Селениумом)
2. Поискать какую-то автокликалку (типа AutoIt-а), которая бы кликнула вам на кнопку, а дальше пошло бы выполнение дальнейшего кода теста
3. Спросить Алексея Баранцева, как такую же задачу решают в аналогичных фреймворках :sad:
  • 0

#3 barancev

barancev

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

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


Отправлено 27 января 2010 - 19:34

Вариантов обхода данной проблемы я вижу 3:
1. Установить флаг "Выполнять указанное действие для всех файлов данного типа автоматически" и сохранить файл (убедиться, что ФФ запущен с тем же профилем, что используется Селениумом)
2. Поискать какую-то автокликалку (типа AutoIt-а), которая бы кликнула вам на кнопку, а дальше пошло бы выполнение дальнейшего кода теста
3. Спросить Алексея Баранцева, как такую же задачу решают в аналогичных фреймворках :sad:

Воообще-то во всех фреймворках с этим не очень хорошо, поэтому я скорее присоединяюсь к совету номер 2.
(К совету номер 1 тоже присоединяюсь, но это только для FF, а следуя совету номер 2 можно сделать для любого браузера).
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#4 Zenturio

Zenturio

    Опытный участник

  • Members
  • PipPipPipPip
  • 386 сообщений
  • ФИО:Дмитрий
  • Город:Смоленск - Москва


Отправлено 27 января 2010 - 20:41

Вариантов обхода данной проблемы я вижу 3:
1. Установить флаг "Выполнять указанное действие для всех файлов данного типа автоматически" и сохранить файл (убедиться, что ФФ запущен с тем же профилем, что используется Селениумом)
2. Поискать какую-то автокликалку (типа AutoIt-а), которая бы кликнула вам на кнопку, а дальше пошло бы выполнение дальнейшего кода теста
3. Спросить Алексея Баранцева, как такую же задачу решают в аналогичных фреймворках :biggrin:

Воообще-то во всех фреймворках с этим не очень хорошо, поэтому я скорее присоединяюсь к совету номер 2.
(К совету номер 1 тоже присоединяюсь, но это только для FF, а следуя совету номер 2 можно сделать для любого браузера).


Возьмите RFT 8.1 и много ваших проблем решится автоматом :sad:
  • 0

#5 Pryanik

Pryanik

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

  • Members
  • PipPipPip
  • 214 сообщений
  • Город:МОСКВА

Отправлено 28 января 2010 - 06:48

Вариантов обхода данной проблемы я вижу 3:
1. Установить флаг "Выполнять указанное действие для всех файлов данного типа автоматически" и сохранить файл (убедиться, что ФФ запущен с тем же профилем, что используется Селениумом)
2. Поискать какую-то автокликалку (типа AutoIt-а), которая бы кликнула вам на кнопку, а дальше пошло бы выполнение дальнейшего кода теста
3. Спросить Алексея Баранцева, как такую же задачу решают в аналогичных фреймворках :biggrin:

Воообще-то во всех фреймворках с этим не очень хорошо, поэтому я скорее присоединяюсь к совету номер 2.
(К совету номер 1 тоже присоединяюсь, но это только для FF, а следуя совету номер 2 можно сделать для любого браузера).


Возьмите RFT 8.1 и много ваших проблем решится автоматом :sad:


Даже не думайте. Платить минимум 3000$ за то чтоб нажать кнопку глупо, потому как это могут сделать множество бесплатных инструментов.
  • 0

#6 Biasha

Biasha

    Активный участник

  • Members
  • PipPip
  • 130 сообщений
  • Город:СПб

Отправлено 28 января 2010 - 08:10

Я решила эту проблему использованием нативных методов селениума (KeyPressNative итд). Передаю в них сначала код клавиши "вниз", чтобы выбрать меню сохранить, а затем код ентера.
Для мозиллы работает, главное фокус окна не терять)
[codebox]selenium.click(CallsAndPutsExportToPdfIconName);
pause (2000);
selenium.keyPressNative("40");
selenium.keyPressNative("10");
[/codebox]
  • 0
Молодой пожарный не боится пламя!

#7 barancev

barancev

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

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


Отправлено 28 января 2010 - 08:12

Возьмите RFT 8.1 и много ваших проблем решится автоматом :sad:

Давайте это переформулируем так: "купите за $7000 новые проблемы вместо тех, которые у вас имеются" :)
(Только что посмотрел цены на лицензии на сайте IBM -- там таки написано $7000, а не $3000)

Я, собственно, не агитирую против того или иного инструмента, независимо от того, платный он или нет.
Я пытаюсь показать, что есть различные инструменты, которые можно использовать, что есть выбор, и его нужно сделать сознательно.
А Вы предлагаете готовое решение, не глядя на контекст. А если они на самом деле пойдут и купят, и окажется, что это ещё хуже, каково, а?
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#8 Pryanik

Pryanik

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

  • Members
  • PipPipPip
  • 214 сообщений
  • Город:МОСКВА

Отправлено 28 января 2010 - 11:03

(Только что посмотрел цены на лицензии на сайте IBM -- там таки написано $7000, а не $3000)


Вполне может быть. Цены брал отсюда.
  • 0

#9 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 28 января 2010 - 11:42

(Только что посмотрел цены на лицензии на сайте IBM -- там таки написано $7000, а не $3000)


Вполне может быть. Цены брал отсюда.

Ну так всё верно:

$ 7,030.30 1 Authorized User License + 12 Months Software Subscription and Support
$ 13,568.80 1 Floating User License + 12 Months Software Subscription and Support

Да уж. Для кликанья по одной кнопке слишком жирно.
  • 0

#10 Zenturio

Zenturio

    Опытный участник

  • Members
  • PipPipPipPip
  • 386 сообщений
  • ФИО:Дмитрий
  • Город:Смоленск - Москва


Отправлено 28 января 2010 - 15:28

Возьмите RFT 8.1 и много ваших проблем решится автоматом :sad:

Давайте это переформулируем так: "купите за $7000 новые проблемы вместо тех, которые у вас имеются" :)
(Только что посмотрел цены на лицензии на сайте IBM -- там таки написано $7000, а не $3000)

Я, собственно, не агитирую против того или иного инструмента, независимо от того, платный он или нет.
Я пытаюсь показать, что есть различные инструменты, которые можно использовать, что есть выбор, и его нужно сделать сознательно.
А Вы предлагаете готовое решение, не глядя на контекст. А если они на самом деле пойдут и купят, и окажется, что это ещё хуже, каково, а?


Слово возьмите и купите - это не одно и то же. Многие компании в России используют и крякнутые версии...
Контекст таков - нужно найти решение задачи. Я предлагаю вариант - RFT. Данное средство поддерживает разработку на Java + достаточно хорошо работает с WEB приложениями. В данном контексте это актуально.
Ихмо на сайте IBM - можно скачать триал. И попробывать. А вдруг понравится настолько, что будет желание купить.
  • 0

#11 madboy4ik

madboy4ik

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

  • Members
  • Pip
  • 62 сообщений
  • ФИО:Александр Александрович
  • Город:Kharkov

Отправлено 28 января 2010 - 16:26

а не проще ли используя WIN API (геморно правда, но уверренно)
я написал и у меня всё работает и все счастливы :sad:
  • 0

#12 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 28 января 2010 - 16:32

а не проще ли используя WIN API (геморно правда, но уверренно)
я написал и у меня всё работает и все счастливы :sad:

Нет, не проще. Если на то пошло, то можно взять уже готовые решения типа java.awt.Robot .
А так, продолбаться над нативными вызовами, которые помогут только для конкретного браузера, под конкретную ось и (вполне вероятно) локализацию, при этом получить весь вышеуказанный гемор - напрасная трата сил.
  • 0

#13 madboy4ik

madboy4ik

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

  • Members
  • Pip
  • 62 сообщений
  • ФИО:Александр Александрович
  • Город:Kharkov

Отправлено 01 февраля 2010 - 12:44

ну так всё таки как бороться с такими сообщениями с помощью Selenium-a ?
использовать или покупать что-то другое - не катит :(
кроме Java robot-a
ведь наверное существуют ещё какие то решения.
никто не подскажет ?
  • 0

#14 mcreature

mcreature

    Активный участник

  • Members
  • PipPip
  • 88 сообщений

Отправлено 01 февраля 2010 - 14:00

Ну вроде как из простых решений (об этом тут уже писали):

1. Установить флаг "Выполнять указанное действие для всех файлов данного типа автоматически" и сохранить файл.
2. Использовать нативные методы, но при этом браузер должен быть активным окном.

Другого нет, выбирай =)
  • 0

#15 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 01 февраля 2010 - 14:56

ну так всё таки как бороться с такими сообщениями с помощью Selenium-a ?
использовать или покупать что-то другое - не катит :(
кроме Java robot-a
ведь наверное существуют ещё какие то решения.
никто не подскажет ?

В дополнение к тому, что подсказал mcreature, если не принципиально, под каким браузером выполняется сохранение, то можете конкретно участок теста , который сохраняет файл, выполнять под фаерфоксом в хром-режиме, предварительно выставив настройки сохранения файлов данного типа по умолчанию. После этого возвращаться в исходный браузер.
  • 0

#16 barancev

barancev

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

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


Отправлено 01 февраля 2010 - 15:07

а не проще ли используя WIN API (геморно правда, но уверренно)
я написал и у меня всё работает и все счастливы :friends:

Кстати, WinAPI не очень-то будет работать с FireFox -- у него нативные диалоги используют нестандартные самодельные виджеты...
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#17 egors

egors

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

  • Members
  • Pip
  • 27 сообщений
  • ФИО:Кузьмин

Отправлено 02 февраля 2010 - 21:33

Спасибо за советы, запустил под тестовым профилем, указал требуемую папку для сохранения, установил флажок, работает на ура!

Пользуясь случаем хотел узнать, а для окна подтверждения, есть подход у селениума?
Окно такого вида:
Изображение
  • 0

#18 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 03 февраля 2010 - 10:42

Спасибо за советы, запустил под тестовым профилем, указал требуемую папку для сохранения, установил флажок, работает на ура!

Пользуясь случаем хотел узнать, а для окна подтверждения, есть подход у селениума?
Окно такого вида:
Изображение

Если это стандартное окно подтверждения, то для работы с ним есть методы:
isConfirmationPresent, getConfirmation, chooseOkOnNextConfirmation, chooseCancelOnNextConfirmation()

Примеры работы с ним рассматриваются в частности здесь.
  • 0

#19 skalolaz

skalolaz

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

  • Members
  • Pip
  • 51 сообщений
  • ФИО:Andrey

Отправлено 27 ноября 2010 - 04:25

Спасибо за советы, запустил под тестовым профилем, указал требуемую папку для сохранения, установил флажок, работает на ура!

Пользуясь случаем хотел узнать, а для окна подтверждения, есть подход у селениума?
Окно такого вида:
Изображение

Если это стандартное окно подтверждения, то для работы с ним есть методы:
isConfirmationPresent, getConfirmation, chooseOkOnNextConfirmation, chooseCancelOnNextConfirmation()

Примеры работы с ним рассматриваются в частности здесь.


не подскажите, как используюся эти методы на PHP, подставляю chooseOkOnNextConfirmation(), лог показывает что ошибки нет, но подтверждение не проходит

$this->selenium->select("SELL_CA_TYPE", "label=FIRST, FIRST");
$this->selenium->select("P13_CA_RUN_TPN_TYPE", "label=РНН");
$this->selenium->select("P13_PERIOD_START_MONTH", "label=Январь");
$this->selenium->select("P13_PERIOD_START_YEAR", "label=2009 год");
$this->selenium->select("P13_PERIOD_END_MONTH", "label=Январь");
$this->selenium->select("P13_PERIOD_END_YEAR", "label=2010 год");
$this->selenium->chooseOkOnNextConfirmation();
$this->selenium->click("//form[@id='wwvFlowForm']/table[5]/tbody/tr/td[1]/table[1]/tbody/tr/td[2]/a"); #-вызывает confirm окно
$this->selenium->waitForPageToLoad("30000");
  • 0


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

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