Перейти к содержимому

Публикации nonameunit

5 публикаций создано nonameunit (учитываются публикации только с 27 апреля 2023)


#106168 Вызов функции из self-testing app

Отправлено автор: nonameunit 01 июня 2012 - 06:55 в SmartBear (AutomatedQA) - Functional Testing

Здравствуйте.

Здесь бы весь код посмотреть, в частности что есть Integration в данном случае (тип, переменная), находится ли ТС в состоянии запуска и т.п. А работает ли у вас стандартный пример из раздела справки Calling Script Routines via COM?

Когда мне надо было работать с ТС по COM, я предпочитал использовать класс Connect, с которым работать много легче.


Нет идей почему стандартный пример не работает? (в ТС контролы находятся, а из С# кода написанного по примеру - нет)



#106089 Вызов функции из self-testing app

Отправлено автор: nonameunit 30 мая 2012 - 08:00 в SmartBear (AutomatedQA) - Functional Testing

В аттаче все включая ТС проект и приложение для тестов.

Прикрепленные файлы




#106087 Вызов функции из self-testing app

Отправлено автор: nonameunit 30 мая 2012 - 07:54 в SmartBear (AutomatedQA) - Functional Testing

Собственно вот так выглядит код.

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            TestClass tcls = new TestClass();
            ThreadStart thrd_start = new ThreadStart(tcls.RunTest);
            Thread thrd = new Thread(thrd_start);
            thrd.Start();
        }
    }

    public class TestClass : Connect
    {
        public void RunTest()
        {
            string s = Path.GetFullPath("..\\..\\TCProject\\WinFormsApp.pjs");

            Connect.RunTest("Test Self-Testing App", "Main", s);

            Connect.Integration["RunRoutine"].Call("Main", "Functions", "ErrorDialog");
            Connect.Integration["RunRoutine"]("Main", "Functions", "ErrorDialog");

            //var p = Sys["Process"]("MainFormProcess");
            //var f = Sys["WinFormsObject"]("MainForm");
            //var b = Sys["WinFormsObject"]("buttonError");
            //var res = b["Click"]();

            //var bb = Aliases["WinFormsObject"]("buttonError")["Click"]();

            Connect.StopTest();
        }
    }

при работе через COM т.е. ссылаясь на
using System.Runtime.InteropServices;
using TestComplete;
все работает отлично, спасибо что напомнили что и так можно.

А вот попытки работать с ТС через
using AutomatedQA.script;
using AutomatedQA.TestComplete;
ничего не получается. Строки с вызовом скрипта падают с TargetInvocationException, а в строках где есть обращение к контролу просто не находит ни процесс ни форму.



#106086 Вызов функции из self-testing app

Отправлено автор: nonameunit 30 мая 2012 - 07:54 в SmartBear (AutomatedQA) - Functional Testing

deleted



#106047 Вызов функции из self-testing app

Отправлено автор: nonameunit 29 мая 2012 - 08:43 в SmartBear (AutomatedQA) - Functional Testing

Добрый день.

Пытаюсь разобраться с фичей self-testing application. Идея стандартна - использовать её для того что бы сделать юай к фреймворку.

Возник вопрос. Если в некотором сьюте "Suite", в проекте "Project", а именно в его script unit'е "Functions" есть функция "MyFunc" можно ли её вызвать в self-testing app и каим образом будет выглядеть строчка кода с вызовом?

UPD
Было найдено что то подходящее, но обе строчки падают с ошибкой TargetInvocationException:
Integration["RunRoutine"].Call("Project","Functions","MyFunc");
Integration["RunRoutine"]("Project","Functions","MyFunc");