从Ranorex输出文本文件,仅包含通过/失败结果和数字

时间:2013-07-15 08:25:42

标签: ranorex

我想让Ranorex输出一个文本文件,如下所示:

传递
74

将根据测试运行是通过还是失败来获得通过/失败结果。该数字将被硬编码为我需要做的就是将其存储在变量中并将其包含在输出中。

我原本以为这会很简单,但我很难从Ranorex那里得到任何帮助。我可能会使用报告功能,更改输出文件类型并更改报告结构,但这也不起作用。

虽然我已经习惯了Ranorex并编写了自己的用户代码,但是我很想以这种方式进行调整。

我的所有用户代码都是用C#编写的

有人可以提供任何帮助吗?

谢谢!


编辑:所以我现在设法让Ranorex输出一个文本文件,我可以将任何文本放入其中,包括存储在变量中的字符串。

但是我很难将测试的通过/失败结果存储在我可以输出的字符串中。

2 个答案:

答案 0 :(得分:0)

我发现了一种方法,但它依赖于以下内容: -

  • 用户代码必须在单独的测试中
  • 此单独测试必须存在于兄弟测试用例中,主要测试用于
  • 此测试用例和包含主测试的案例都必须是父测试用例的一部分

例如:

家长TC
.....- AddUser TC
.........-主要测试
.....- AddUser FailCheck
.........-用户代码

然后,您可以将AddUser TC设置为“继续兄弟失败”

用户代码如下:

    public static void Output()
    {    
        string result = "";
        ITestCase iCase = TestSuite.Current.GetTestCase("Add_User_Test"); // The name of your Test Case 

        if(iCase.Status == Ranorex.Core.Reporting.ActivityStatus.Failed){ 
            result = "Failed"; }
        if(iCase.Status == Ranorex.Core.Reporting.ActivityStatus.Success){ 
            result = "Passed"; }

        int testrunID = 79;

        using (StreamWriter writer =
               new StreamWriter("testresult.txt"))
        {
            writer.WriteLine(testrunID);
            writer.WriteLine(result);               
        }
    }

这将获取testrunID(特定于每个测试用例)和测试结果,并将其输出到文本文件。

然后想法用我开发的自定义Java应用程序读取文件并将数据推送到测试用例管理程序,例如QA Complete,它可以将测试标记为自动通过/失败

答案 1 :(得分:0)

您可以使用TestSuiteRunner.Run()方法直接运行测试套件。这将允许您直接查看该返回值,并根据返回值输出通过或失败。

http://www.ranorex.com/Documentation/Ranorex/html/M_Ranorex_Core_Testing_TestSuiteRunner_Run.htm

if(TestSuiteRunner.Run(typeof({testSuiteclass}),{Command Line Arguments})==0)
{
    File.WriteLine("success");
}
else
{
    File.WriteLine("failure");
}