Выведите текстовый файл из Ranorex, чтобы включить только результат прохождения/непрохождения и число

Я пытаюсь заставить Ranorex вывести текстовый файл, который будет выглядеть следующим образом:

Пройдено
74

Результат «пройдено/не пройдено» будет получен в зависимости от того, пройден или не пройден тест. Число будет жестко закодировано, и все, что мне нужно сделать, это сохранить его в переменной и включить в вывод.

Я думал, что это будет просто, но я изо всех сил пытаюсь получить какую-либо помощь от Ranorex. Хотя я мог бы использовать функцию создания отчетов, изменить тип выходного файла и изменить структуру отчета, но это тоже не сработало.

Хотя я привык к Ranorex и пишу свой собственный пользовательский код, я новичок в адаптации его таким образом.

Весь мой пользовательский код написан на C#

Кто-нибудь может предложить какую-либо помощь?

Спасибо!


Редактировать: теперь мне удалось заставить Ranorex выводить текстовый файл, и я могу поместить в него любой текст, включая строку, хранящуюся в переменной.

Однако я изо всех сил пытаюсь сохранить результат теста "пройдено/не пройдено" в строке, которую я могу вывести.


person Chris    schedule 15.07.2013    source источник


Ответы (2)


Я нашел способ сделать это, однако он основан на следующем: -

  • Код пользователя должен быть в отдельном тесте
  • Этот отдельный тест должен существовать в тестовом примере, родственном тому, в котором находится ваш основной тест.
  • И этот тестовый набор, и набор, содержащий ваш основной тест, должны быть частью родительского набора тестов.

Например:

Родительский 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, которая может автоматически помечать тесты как пройденные / не пройденные.

person Chris    schedule 17.07.2013

Вы можете запустить набор тестов напрямую, используя метод 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");
}
person theDarse    schedule 07.10.2013