0

我试图让 Ranorex 输出一个如下所示的文本文件:

通过
74

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

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

虽然我习惯了 Ranorex 并编写自己的用户代码,但我对以这种方式适应它还是个新手。

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

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

谢谢!


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

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

4

2 回答 2

0

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

  • 用户代码必须单独测试
  • 这个单独的测试必须存在于您的主要测试所在的同级测试用例中
  • 此测试用例和包含主测试的用例都必须是父测试用例的一部分

例如:

Parent TC
.....-AddUser TC
.........-MAIN TEST
.....-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,它可以自动将测试标记为通过/失败

于 2013-07-17T15:27:15.037 回答
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");
}
于 2013-10-07T17:10:46.293 回答