记录特定信息

 

可以通过直接发送,或者使用用户自定义代码(即代码模块),或使用Recorder中的“Report”Action,向日志中记录特定信息。

通过代码记录日志信息

为了使用“Report”类来报告一个特定级别的信息,您可以使用下面的方法:

  • Ranorex.Report.Debug(“调试信息”);
  • Ranorex.Report.Info(“信息消息”);
  • Ranorex.Report.Warn(“警告信息”);
  • Ranorex.Report.Error(“错误消息”);
  • Ranorex.Report.Success(“成功消息”);
  • Ranorex.Report.Failure(“失败消息”);

类别

这些方法可以用单一的消息文本参数。 另外,它们可以用额外的参数,表示被设置为默认值’User’这样的方法的第一个重载的类别。 也可以通过代码控制’Ranorex.Report.DefaultCategory’属性来设置默认类别。 在报告中可以看到一个不同列的类别。 下面的代码演示了不同的报告类(和不同的报告类别),代码之后是生成的报告。

  1. // Reporting information (debug, info) using default Category “User”
  2. Ranorex.Report.Debug(“This is a Debug Information”);
  3. Ranorex.Report.Info(“This is a Information”);
  4. // Setting Parameter Category to specific value and report a warning and an error
  5. Ranorex.Report.Warn(“Specific Category”,”This is a Warning Information”);
  6. Ranorex.Report.Error(“Specific Category”, “This is an Error Information”);
  7. // Setting the Default Category
  8. Ranorex.Report.DefaultCategory = “My new default category”;
  9. // Reporting information (success, failure) using the new default category
  10. Ranorex.Report.Success(“This is a success information”);
  11. Ranorex.Report.Failure(“This is a failure Information”);

08-report-levels-7c

不同的报告方法和类别揭示不同层次报告的重要性

注意:请注意,Failure级别的消息会进行自动截图(如果启用了跟踪截图)。为了直观地追溯导致当前错误的最后一个步骤,将提供过去三个Action的截图。

用户定义的报告级别

你可以创建自定义的名称和值的级别,来定义你自己的报告:

  1. Ranorex.ReportLevel MyNewReportLevel = new ReportLevel(“My low Report Level”, 25, null);
  2. Ranorex.Report.Log (MyNewReportLevel, “This is unimportant information”);

根据目前的报告级别(见下一章),与用户定义的报表级别应该出现在报告中报告信息如下:

09-user-defined-level-2d

用户自定义级别信息报告

当前报告级别

只有当父测试用例的报告级别设置低于或等于当前报告的级别,当前报告中才会出现信息。当前报告级别也可以使用代码设置:

  1. Ranorex.Report.CurrentReportLevel = Ranorex.ReportLevel.Parse(“Only Highest Importance;90”);

这个设置,会导致报告中只包含大于或等于90的信息,这就是Success和“Failure”。 下面可以看到,所得到的报告就是由于代码设置了不同的报告级别导致最后的报告结果不同。

10-set-current-reportlevel-d9

90等级值的报告

注:当前报告级别总是可以通过日志信息报告’Always’覆盖。

  1. Ranorex.Report.Log (Ranorex.ReportLevel.Always, “User”, “Any-Case message”);

报告截图

通过Ranorex,可以把被测系统或任何UI元素的当前状态,通过截图轻易地发送到报告中。

  1. Ranorex.Report.Screenshot (MyRepo.KeePass.Toolbar.Self);

11-log-screenshot-17

Ranorex报告中直接显示了KeePass工具栏的截图

如果截图方法不调用任何参数,则在您的报告中,会将整个桌面截图。

注:只有当元素是可见时,该元素才能被截图。 如果只是通过代码控制应用程序使用,并不需要把元素切换到前台可见。 为了确保UI元素的可见性,可以使用’EnsureVisible方法,该方法来自于Adapter类(例如’Text’, ‘RadioButton’, ‘Button’等)的任何元素。 因此,对象库中的根文件夹或应用程序文件夹,它本身并不包含’EnsureVisible’方法。 为了使这些对象类型(根文件夹或应用程序文件夹)可见,可以调用“Self”属性来调用’EnsureVisible方法。

报告系统摘要

Ranorex的Report类提供了一个简单的方式来记录系统摘要:Ranorex.Report.SystemSummary();

12-system-summary-91

系统概要由Report.SystemSummary()生成

Recorder生成日志信息

RanorexRecorder中可以直接发送信息到报告。 只需使用工具栏上的’Add New Action’按钮,添加一个“Report’Action。

13-add-report-action-39

为录制模块添加一个ReportAction

预定义的报告级别

就像调用 代码,你可以在Action表中直接指定一个预定义的报告级别。

14-set-reportlevel-b5

定义报告级别

自定义报表级别

也可以通过自定义报告提交消息。 只需选择下拉菜单中的“自定义报告级别。

15-custom-level-in-recording-5b

使用自定义级别定义报告信息

截图和快照

从Ranorex3.3开始,您可以直接从Recorder的Action表发送截图,甚至快照到您的报告。 这两个Action都需要指定对象库条目,以确定对哪个对象截图或快照。

16-screenshot-and-snapshot-action-ef

截图快照Action的用法

Leave a comment

请输入正确的验证码