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

Техники локализации плавающих дефектов
онлайн, начало 17 августа
Школа для начинающих тестировщиков
онлайн, начало 20 августа
Программирование на Python для тестировщиков
онлайн, начало 14 августа
Тестирование без требований
онлайн, начало 17 августа

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

Яндекс.Метрика
Реклама на портале