我过去使用过STAF / STAX,并且喜欢在测试中跟踪信息的方式。



我目前正在研究将一些使用XML-RPC的工具联系在一起的技术,并且对良好跟踪工具的建议感兴趣,最好是推荐一个不错的API。

如果没有此功能,我将不胜感激有关创建自己的此类监视系统的任何提示(我具有GUI开发经验,但不确定如何对测试运行进行建模)或将测试技术集成到STAX中(我知道我应该能够从jython发送XML-RPC命令,但是我可以在报告的粒度级别上看到问题)。


编辑


经过进一步的研究,我很感兴趣是否有人对机器人框架有任何经验-没有任何外部输入,这就是我目前正在研究的地方。 />

评论

创建您自己的跟踪工具(虽然在开始时似乎是个好主意),但以后可能会再次咬住您(维护和添加增强功能)。相反,您会喜欢一些具有类似功能的现成开放源代码或付费应用程序的建议吗?

@rishimaharaj的确是我的问题-有什么工具可以做到这一点,并且只有在没有合适的工具的情况下,才有滚动我自己的技巧。

#1 楼

最后,我使用了robotframework,因为它是开源的,有据可查,并且高度可扩展。我选择了与jython相对的python版本,但这主要是因为我已经建立了一个不错的python环境并具有使用python的经验,但是没有java的经验,因此希望能够使用其标准库在我的测试库中。对于那些对Java有更多经验的人来说,我听说使用jython版本和使您可以访问JVM的体验一样好。

让我做决定更容易的一件事是RIDE工具:





这只是一个UI,可以轻松地将机器人测试,标签管理和执行放在一起,即用wxPython编写。 GUI框架的选择导致OSX上的某些事情不是最佳的,例如复制/粘贴和一些键盘快捷键,但是这仍然可行。但是,此工具的强项是引导您迈向明智的体系结构。您的测试套件可以形成逻辑层次结构,并且将通用关键字封装为资源。 RIDE界面还使您可以查看库中的文档和参数提示。

关于库的注释,这很简单-要实现可从机器人使用的库,您所需要的就是一个位于同名文件中。然后,您可以使用漫游器的库导入来初始化此类的实例。然后,可以在机器人测试中按名称提供此类的方法。

然后再运行这些测试时,您将获得自动生成的html日志/报告,该报告将报告任何成功或失败,并允许您向下钻取以查看各个测试步骤的更精细的结果,或者只是概述一下发生的事情:



有关测试库的示例这是我通过XML-RPC与Eggplant进行交互的简单类的骨架:

class EggplantDriver(object):
    #Snipped docstring and class attributes
    def print_thing(self, name, value): #Snipped method
    @property
    def client(self): #Snipped method
    def __init__(self, uri, suite, SUT=None, verbose=False): #Snipped method
    def change_suite(self, new_suite): #Snipped method
    def start_session(self, new_suite=None): #Snipped method
    def end_session(self): #Snipped method
    def connect_SUT(self, SUT=None): #Snipped method
    def disconnect_SUT(self): #Snipped method
    def execute(self, cmd): #Snipped method


然后,我将其归类为以下内容: