Программная загрузка и загрузка GForge

ВСТУПЛЕНИЕ

Я являюсь частью команды проекта, которая использует старую систему GForge (Community Edition v5.6.1) для размещения нашего исходного кода и предоставления некоторых дополнительных услуг. Одним из встроенных сервисов является функция загрузки и выгрузки. Таким образом, пользователи могут легко получить сгенерированную версию приложения. Чтобы предоставить эту загружаемую версию, мы, как разработчики, должны использовать браузер (например, IE или FF), чтобы перейти на соответствующую страницу GForge, затем отметить несколько кнопок, заполнить несколько текстовых полей и, наконец, нажать кнопку "Загрузить", которая открывает диалоговое окно файла, чтобы указать любой файл для загрузки в область загрузки GForge. Для загрузки процедура аналогична. Кроме того, время от времени появляется отдельная веб-страница для запроса входа в сеанс.

Теперь, когда мы, как разработчики, находимся в "горячей фазе" и должны предоставлять загружаемые версии с высокой частотой, описанная выше процедура слишком подвержена ошибкам в отношении важных частей релиза и слишком медленная. Кроме того, перед экраном всегда есть реальный человек, которому нужно щелкать.

ВОПРОС

Как нам удается программно загружать и загружать сгенерированные версии программного обеспечения в зону загрузки GForge и из нее, одновременно преодолевая страницу пароля (конечно, используя действующую учетную запись пользователя)?

ЧТО МЫ ПОПРОБУЛИ

Использование скрипта Python. Python предоставляет очень полезные модули, такие как "urllib", "urllib2" и "запросы", с помощью которых любой HTTP-доступ (даже тот, который имеет защиту сессионного пароля) должен быть управляемым. После многих часов попыток система GForge возвращает только страницу запроса пароля. Не любой из интересных файлов. Даже далеко от загрузки чего-либо.

Использование скрипта AutoIt. AutoIt может автоматизировать движения мыши и нажатия клавиш, а также прямой доступ к видимым элементам на экране. Он предоставляет приложение "Window Info" для идентификации любого элемента окна. Например, кнопки и текстовые поля на веб-страницах (HTML) не распознаются. Поэтому мы не знаем, как правильно определить текстовое поле пароля GForge, чтобы переместить туда мышь, и ввести необходимый текст. И оттуда продолжайте подражать человеку, сидящему перед экраном.

У кого-нибудь есть опыт решения нашей проблемы?

1 ответ

Я бы обновил вашу систему до v6.4.2 (текущая версия GForge). Оттуда у вас будет доступ к интерфейсу SOAP, который сделает все это возможным. Когда GForgeNEXT будет выпущен, https://next.gforge.com/, интерфейс SOAP будет заменен API-интерфейсом REST, что сделает эту интеграцию еще проще.

Обновление до v6.4.2 с 5.6.x будет немного болезненным, но наша команда будет рада помочь, просто создайте аккаунт на gforge.com, а затем откройте бесплатный билет поддержки здесь:

https://gforge.com/gf/project/gforge5/tracker/?action=TrackerItemBrowse&tracker_id=10345

Отказ от ответственности: Моя компания управляет GForge, поэтому совет, данный выше, я бы дал любому платящему клиенту. Для большей ясности файлы в GForge хранятся в файловой системе. Интерфейс SOAP позволяет вам получить доступ к базе данных для любого тикета или документа, получить соответствующий документ и даже заменить его. С программной точки зрения это самый чистый ответ.

Другие вопросы по тегам