Недавно я начал работать над Selenium и QTP. Мне было поручено выполнить требование от группы тестирования, чтобы программно остановить QTP с помощью C#. Эта небольшая реализация является частью структуры, которую команда хочет внедрить.Остановить выполнение QTP с помощью C#
Я не уверен, что я делаю неправильно, но, согласно документации, то, что я делаю, должно технически работать, но это не так.
Я могу получить статус теста и т. Д., Но когда я пытаюсь остановить тест, все идет не так. QTP перестает отвечать на запросы, и я не могу даже вручную остановить тест. Ниже мой код:
Пример 1
QuickTest.Application qtp = new QuickTest.Application();
if (qtp.Test.IsRunning)
{
MessageBox.Show("Test is running"); // works
qtp.Test.Stop(); // qtp halts and i can't stop execution manually also
}
Пример 2
То же самое, что и выше, за исключением того, я пытаюсь подключиться к Qtp, используя следующее заявление:
var app = Marshal.ActivateObject("QuickTest.Application") as QuickTest.Application;
Что я делаю неправильно?
Пока никто не придумал решение, у меня его тоже нет, но такое же поведение QTP является для меня обычным явлением. Когда я выполняю тест (WinXP, QPT10, web addin), я не могу остановить или приостановить его с помощью кнопки остановки/паузы. Как только я нажал, QTP зависает, и я должен убить процесс. Работа, которую я использую, заключается в том, чтобы положить в точку останова (во время выполнения) часть, которую я знаю, будет проходить код. С точки останова я могу приостановить или остановить тест. Я не использую C# для взаимодействия с QTP, но, возможно, у него есть метод интерфейса COM для размещения или запуска точки останова? – AutomatedChaos
@AutomatedChaos: спасибо за ваши комментарии. Я могу приостановить тестирование с помощью обходных решений, но не удастся остановить его. Я попросил своих членов команды спросить HP, если это известная проблема. я искал, но ничего не нашел. Я также новичок в C#, qtp, поэтому не уверен, что это ожидаемое поведение. –
Ну, если вы новичок в QTP и C#, то вы действительно хотите прочитать эту статью [Создание прерывания события в QTP] (http://www.advancedqtp.com/wp-content/uploads/yassa/event-interrupt- в-qtp.pdf). Не _very_ связано с вашей проблемой, но это хорошее, учебное чтение и, возможно, это заставит вас придумать решение для вашей реальной проблемы. – AutomatedChaos