【问题标题】:How to properly handle human-readable results?如何正确处理人类可读的结果?
【发布时间】:2012-05-25 09:33:00
【问题描述】:

我正在开发基于 Selenium 2 的测试套件。目标是在不同情况下(通过任意 XML 文件指定)测试一系列页面。

输出通过:

  • 一些压缩截图
  • 原始日志文件
  • 一个 html 文件

现在原始日志文件和 Markdown 日志文件(后来用于生成 html)是通过在应用程序中硬编码的消息生成的。

现在我正在考虑使用一些辅助数据结构来包含每一条相关信息,使用某种约定(代码、枚举等)来稍后处理和呈现。如果我没记错的话,这应该会让代码更容易维护,减少冗余。

我的问题是:对此是否有更好的方法或被广泛接受的做法?

作为输出(只是一个草稿)的示例:

<Test> | <name of page> | <browser>:
    * Searchbox found and query submitted
    * ERROR: timeout while waiting for results
<Test> | <name of page> | <browser>:
    * Question found and answer submitted
    * Alert box content: < ... >
    * OK

谢谢

PS:如果有人找到更合适的问题标题,那将是非常受欢迎的

编辑

很抱歉,如果我的问题不够简洁,我会尽力让自己清楚。

换句话说,当我的程序必须输出大量提供有关执行测试结果的信息的文本时,我应该怎么做?对消息进行硬编码或使用一些辅助数据结构(例如队列/堆)来跟踪从执行开始到结束所发生的事情(例如,错误和状态代码),然后对其进行处理组成一个可读文件?

【问题讨论】:

  • 不关心您的问题,但也许模板引擎会帮助您格式化数据。喜欢velocity.apache.org
  • 感谢您抽出宝贵时间@PeterMmm,但我认为 Velocity 对于我想做的事情来说太复杂了。我已经编辑了我的问题,试图避免混淆,但不确定我是否足够清楚。

标签: java oop user-interface selenium


【解决方案1】:

使用与表示无关的数据结构显然是更好的选择。它允许

  • 将测试与报告分离
  • 生成多种报告(HTML、PDF、文本等)
  • 报告国际化
  • 将测试集成到另一个应用程序中,该应用程序不会进行任何报告,但会将结果显示在某个 GUI 组件(例如树或表格)中

【讨论】:

  • 是的,我知道使用数据结构至少会更加优雅和强大。不过,从来没有考虑过完全脱钩。这份福利清单非常感谢,我想我正在寻找类似的东西。谢谢!而“报告”,这就是我缺少的词:D
猜你喜欢
  • 2020-05-29
  • 2015-08-02
  • 1970-01-01
  • 1970-01-01
  • 2013-07-20
  • 1970-01-01
  • 1970-01-01
  • 2012-03-19
  • 2021-11-21
相关资源
最近更新 更多