Вопрос следующий, есть веб-сервис, с пользовательским веб-интерфейсом. Хочется автоматизировать работу с ним посредством отдельного GUI клиента (например, на машине без браузера, но с выходом в интернет). Т.е. как бы продублировать функциональность веб-приложения в GUI клиенте, но запросы каким-то образом надо отсылать на сервер как это делает пользователь из под браузера.
С какой стороны подойти к задаче, в сторону каких инструментов смотреть? Что посоветуете? Могу дать детали, если будут наводящие вопросы
Здравствуйте, DeadShot, Вы писали:
DS>Доброго времени суток,
DS>Вопрос следующий, есть веб-сервис, с пользовательским веб-интерфейсом. Хочется автоматизировать работу с ним посредством отдельного GUI клиента (например, на машине без браузера, но с выходом в интернет). Т.е. как бы продублировать функциональность веб-приложения в GUI клиенте, но запросы каким-то образом надо отсылать на сервер как это делает пользователь из под браузера.
DS>С какой стороны подойти к задаче, в сторону каких инструментов смотреть? Что посоветуете? Могу дать детали, если будут наводящие вопросы
Самый простой вариант — приложение под Windows на чем угодно с одним единственным окном, в которое встроен компонент Internet Explorer.
А если так не хочется, а хочется все вручную, то слишком много работы, да и незачем ее делать.
Здравствуйте, DeadShot, Вы писали:
DS>Доброго времени суток,
DS>Вопрос следующий, есть веб-сервис, с пользовательским веб-интерфейсом. Хочется автоматизировать работу с ним посредством отдельного GUI клиента (например, на машине без браузера, но с выходом в интернет). Т.е. как бы продублировать функциональность веб-приложения в GUI клиенте, но запросы каким-то образом надо отсылать на сервер как это делает пользователь из под браузера.
DS>С какой стороны подойти к задаче, в сторону каких инструментов смотреть? Что посоветуете? Могу дать детали, если будут наводящие вопросы
Ну это смотря на чем (на каком языке) писать клиентское приложение:
1. PHP CLI — SoapClient
2. 1Cv82 — WS-ссылки
3. Deplhi/Builder — TSOAPClient
4. C# — Отправка SOAP-запросов
5. AIR/Flex — Клиент для web-сервиса XML на FLEX
И не нужно никаких эмуляций веб-браузера — все работает через сериализацию в/из XML нативных для приложения данных и их представления/получения у пользователя ч/з тот же GUI — ифейс
Здравствуйте, MicSOFT, Вы писали:
MSO>Здравствуйте, DeadShot, Вы писали:
DS>>Доброго времени суток,
DS>>Вопрос следующий, есть веб-сервис, с пользовательским веб-интерфейсом. Хочется автоматизировать работу с ним посредством отдельного GUI клиента (например, на машине без браузера, но с выходом в интернет). Т.е. как бы продублировать функциональность веб-приложения в GUI клиенте, но запросы каким-то образом надо отсылать на сервер как это делает пользователь из под браузера.
DS>>С какой стороны подойти к задаче, в сторону каких инструментов смотреть? Что посоветуете? Могу дать детали, если будут наводящие вопросы
MSO>Ну это смотря на чем (на каком языке) писать клиентское приложение: MSO>1. PHP CLI — SoapClient MSO>2. 1Cv82 — WS-ссылки MSO>3. Deplhi/Builder — TSOAPClient MSO>4. C# — Отправка SOAP-запросов MSO>5. AIR/Flex — Клиент для web-сервиса XML на FLEX
MSO>И не нужно никаких эмуляций веб-браузера — все работает через сериализацию в/из XML нативных для приложения данных и их представления/получения у пользователя ч/з тот же GUI — ифейс
Я думаю, автор имел ввиду, что есть какой-то сайт для пользователей, не имеющий никаких специально настроенных сервисов для внешнего использования.
Здравствуйте, DorfDepp, Вы писали:
DD>Самый простой вариант — приложение под Windows на чем угодно с одним единственным окном, в которое встроен компонент Internet Explorer.
Не подходит.
DD>А если так не хочется, а хочется все вручную, то слишком много работы, да и незачем ее делать. DD>Вы лучше объясните, зачем вам это нужно.
Есть веб-интерфейс, сторонний (я не могу его изменить). Если коротко, то для выполнения задачи там приходится выбрать значение А, потом появился др. форма, указать параметры В, С, нажать кнопку и задача улетит на исполнение. Далее, чтобы посмотреть на статус своей задачи в веб-интерфейсе приходится опять проходить путь с параметрами и выборками.
Сокращение явное, скрипт или GUI форма, в которой все выбираешь сразу и жмёшь кнопку — всё остальное за тебя код выполнит по взаимодействию с веб-сервером. Это так "наколенный" вариант задачи, если в двух словах.
Хочется автоматизировать его через, например, скрипт на Python или Java код.
Здравствуйте, DorfDepp, Вы писали:
DD>Я думаю, автор имел ввиду, что есть какой-то сайт для пользователей, не имеющий никаких специально настроенных сервисов для внешнего использования.
Конечно, сайт мной не контролируется. Я всего лишь его пользователь, мне хочется упрощения работы с ним.
Здравствуйте, DeadShot, Вы писали:
DS>Здравствуйте, DorfDepp, Вы писали:
DD>>Я думаю, автор имел ввиду, что есть какой-то сайт для пользователей, не имеющий никаких специально настроенных сервисов для внешнего использования.
DS>Конечно, сайт мной не контролируется. Я всего лишь его пользователь, мне хочется упрощения работы с ним.
1. Это может быть запрещено пользовательским соглашением.
2. Можно взять любой инструмент для тестирования веб-приложений через UI, типа Selenium. Заодно можно будет проверить, "съел" ли сайт ваш автоматический ввод.
Здравствуйте, DeadShot, Вы писали:
DS>Здравствуйте, DorfDepp, Вы писали:
DD>>Я думаю, автор имел ввиду, что есть какой-то сайт для пользователей, не имеющий никаких специально настроенных сервисов для внешнего использования.
DS>Конечно, сайт мной не контролируется. Я всего лишь его пользователь, мне хочется упрощения работы с ним.
Читаем начало поста: Вопрос следующий, есть веб-сервис, с пользовательским веб-интерфейсом...
Так вот и я про тоже: Есть внешний SebService (черный ящик), но у него д.б. WSDL-файл,
который регламентирует (описывает интерфейс и правила) обмен пакетов между клиентом (приложением, которое нужно сделать)
и веб-сервером, который предоставляет сервис (курсы валют / сводку погоды / ...)
Поэтому тут подойдет любой встроенный SOAPClient для того языка программирования, на котором будет писаться клиентское приложение
Здравствуйте, MicSOFT, Вы писали:
MSO>Здравствуйте, DeadShot, Вы писали:
DS>>Здравствуйте, DorfDepp, Вы писали:
DD>>>Я думаю, автор имел ввиду, что есть какой-то сайт для пользователей, не имеющий никаких специально настроенных сервисов для внешнего использования.
DS>>Конечно, сайт мной не контролируется. Я всего лишь его пользователь, мне хочется упрощения работы с ним.
MSO>Читаем начало поста: Вопрос следующий, есть веб-сервис, с пользовательским веб-интерфейсом...
MSO>Так вот и я про тоже: Есть внешний SebService (черный ящик), но у него д.б. WSDL-файл, MSO>который регламентирует (описывает интерфейс и правила) обмен пакетов между клиентом (приложением, которое нужно сделать) MSO>и веб-сервером, который предоставляет сервис (курсы валют / сводку погоды / ...)
MSO>Поэтому тут подойдет любой встроенный SOAPClient для того языка программирования, на котором будет писаться клиентское приложение
Надо уметь читать между строк. Не все люди талантливы настолько, чтобы передавать свои идеи без искажений. К тому же сейчас ночь, может, человек полусонный писал. Собственно, он уже объяснил все выше.
Здравствуйте, DorfDepp, Вы писали:
DD>1. Это может быть запрещено пользовательским соглашением.
Не проблема в данном случае, это не запрещено. Это поделка смежного отдела, НО ничего там специального не сделают для меня — у них своя работа, приоритеты, и т.д.
DD>2. Можно взять любой инструмент для тестирования веб-приложений через UI, типа Selenium. Заодно можно будет проверить, "съел" ли сайт ваш автоматический ввод.
Ога, вот это уже ближе, Selenium. PHP если не ошибаюсь? Беда с ним. Но, думаю, аналоги поискать можно будет. Спасибо, DorfDepp!
А еще есть др системы для тестирования\автоматизации веб-приложений, но только бы на Python\Java?
Здравствуйте, DeadShot, Вы писали:
DS>Здравствуйте, DorfDepp, Вы писали:
DD>>1. Это может быть запрещено пользовательским соглашением. DS>Не проблема в данном случае, это не запрещено. Это поделка смежного отдела, НО ничего там специального не сделают для меня — у них своя работа, приоритеты, и т.д.
DD>>2. Можно взять любой инструмент для тестирования веб-приложений через UI, типа Selenium. Заодно можно будет проверить, "съел" ли сайт ваш автоматический ввод. DS>Ога, вот это уже ближе, Selenium. PHP если не ошибаюсь? Беда с ним. Но, думаю, аналоги поискать можно будет. Спасибо, DorfDepp!
DS>А еще есть др системы для тестирования\автоматизации веб-приложений, но только бы на Python\Java?
Selenium, это вообще уже готовая штука в виде плагина для Firefox, ничего программировать не нужно.
Здравствуйте, DeadShot, Вы писали:
DS>С какой стороны подойти к задаче, в сторону каких инструментов смотреть? Что посоветуете? Могу дать детали, если будут наводящие вопросы
Если использовать mozilla firefox, то можно взять greasemonkey, а уже в гризманке на javascript с обращением к DOM целевой страницы творить что хочешь, включая изменение внешнего вида, ajax-обращения к целевому сайту, действия по таймеру, локальное хранилище данных между загрузками страниц и пр.