【问题标题】:programmatical GForge upload and download程序化 GForge 上传和下载
【发布时间】:2016-06-14 12:41:50
【问题描述】:

简介

我是一个项目团队的一员,该团队使用旧的 GForge 系统(社区版 v5.6.1)来托管我们的源代码并提供一些进一步的服务。一项内置服务是上传和下载功能。因此用户可以很容易地获得生成的应用程序版本。为了提供这个可下载的版本,我们作为开发人员必须使用浏览器(例如 IE 或 FF)导航到适当的 GForge 页面,然后勾选一些按钮,填写一些文本框,最后点击“上传”按钮,打开一个文件对话框以指定要上传到 GForge 下载区域的任何文件。对于下载,过程类似。此外,有时会出现一个单独的 WEB 页面来请求会话登录。

现在,作为开发人员,我们正处于“热阶段”,需要提供高频率的可下载版本,上述过程对于发布的重要部分来说太容易出错,而且速度太慢。除此之外,屏幕前总是需要一个真人来点击。

问题

我们如何设法以编程方式将生成的软件版本上传和下载到 GForge 的下载区域,同时首先克服密码页面(当然使用有效的用户帐户) ?

到目前为止我们已经尝试过什么

使用 Python 脚本。 Python 提供了非常有用的模块,如“urllib”、“urllib2”和“requests”,任何 HTTP 访问(即使是具有会话密码保护的访问)都应该是可管理的。经过几个小时的尝试,GForge 系统只返回密码请求页面。没有任何有趣的文件。甚至离上传任何东西都很远。

使用 AutoIt 脚本。 AutoIt 可以自动化鼠标移动和键盘按下以及直接访问屏幕上的可见元素。它提供了一个“窗口信息”应用程序来识别任何窗口元素。但是例如 WEB 页面 (HTML) 中的按钮和文本字段无法识别。所以我们不知道如何正确识别 GForge 的密码文本字段以便将鼠标移动到那里并输入必要的文本。然后继续模仿坐在屏幕前的人。

有人对解决我们的问题有一些经验吗?

【问题讨论】:

    标签: download upload gforge


    【解决方案1】:

    我会将您的系统升级到 v6.4.2(当前 GForge 版本)。从那里您将可以访问 SOAP 接口,这将使这一切成为可能。当 GForgeNEXT 发布时,https://next.gforge.com,SOAP 接口将被一个 REST-ful API 取代,从而使这种集成更加容易。

    从 5.6.x 升级到 v6.4.2 会有点痛苦,但我们的团队很乐意提供帮助,只需在 gforge.com 上创建一个帐户,然后在此处打开免费支持票:

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

    免责声明:我的公司管理 GForge,因此我会将上述建议提供给任何付费客户。为了更清楚起见,GForge 中的文件存储在文件系统中。 SOAP 界面允许您访问数据库以获取任何票证或文档,获取适当的文档,甚至替换它。以编程方式,这是最干净的答案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-15
      • 1970-01-01
      • 1970-01-01
      • 2011-10-08
      • 1970-01-01
      • 2021-10-22
      相关资源
      最近更新 更多