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

nonameunit

Регистрация: 29 мая 2012
Offline Активность: 29 июн 2012 08:52
-----

Мои сообщения

В теме: Вызов функции из self-testing app

01 июня 2012 - 06:55

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

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

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


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

В теме: Вызов функции из self-testing app

30 мая 2012 - 08:00

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

В теме: Вызов функции из self-testing app

30 мая 2012 - 07:54

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

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, а в строках где есть обращение к контролу просто не находит ни процесс ни форму.

В теме: Вызов функции из self-testing app

30 мая 2012 - 07:54

deleted