Jagjot Singh Ответов: 4

Как автоматизировать Qtp с помощью C sharp


Здравствуйте Друзья,

Я работаю над приложением, в котором я загружаю скрипт Qtp. Мне нужно передать это в Qtp для автоматического выполнения, но я хочу сделать это программно.

Я хочу сделать это в C#. Пожалуйста, подскажите мне, доступны ли Qtp API или что-то еще, с помощью чего я могу автоматизировать этот процесс.

Спасибо,
Джагджот

4 Ответов

Рейтинг:
1

Manfred Rudolf Bihy

Я думаю, что вы хотели бы немного покопаться на этом сайте: http://qtp.blogspot.com/2008/11/qtp-apis-dlls-and-more.html[^].
Он содержит обилие информации, включая учебник и примеры.

Ваше здоровье!


Рейтинг:
0

OriginalGriff

Разве вы не можете просто выполнить CScript со скриптом как временный файл?

Вы должны быть в состоянии сделать это с помощью процесса.Начать


Jagjot Singh

Хорошо, я могу начать qtp с процесса.Начните, но как передать сценарий и запустить этот сценарий? Пожалуйста предложите

Рейтинг:
0

Sarfraz Munna

Вы можете интегрировать QTP с C# dot net,
QTP предоставляет управляемую библиотеку dll для интеграции dot net с ней.
     

  • Mercury.QTP.CustomServer.dll (QTP, предоставляемых файлов для Dot сетка)
  • Янус.Окна.GridEX.v3.dll (Janus предоставляет управляемую библиотеку dll для идентификации сетки janus и ее атрибута.)

    С уважением,
    Мунна Сарфраз

  • Рейтинг:
    0

    bitmulticoder

    Добавить ссылку на Interop.QuickTest.dll в вашем проекте/решении - QTP 11, и, скорее всего, последние 2 или около того версии

    Приведенный ниже код работает в течение многих месяцев в производственной среде

    qtApp = new QuickTest.Application(); // reference to QTP Application
    qtApp.Launch();  // Launch QTP
    qtApp.Visible = true; // or false - set visible state
    qtApp.Options.Run.RunMode = "Normal";  // Run Mode
    qtApp.Options.Run.StepExecutionDelay = 250;  // Delay between execution of steps
    qtApp.Options.Run.ViewResults = false;  // Do not view results at end of test
    
    string scriptPath = uncPathToScript;  // UNC path to script, or and other drive/location that the application invoking QTP has access to
    qtApp.Open(scriptPath, true, false);  // Open the script, read only, do not save changes
    
    // Get a reference to the test object
    QuickTest.Test qtTest = qtApp.Test;  // Get reference to test object opened/created by application
    
    qtTest.Settings.Run.OnError = "NextStep"; // Stop
    
    // Get a reference to the Results Object for  test results location
    QuickTest.RunResultsOptions qtRRO = new QuickTest.RunResultsOptions();  // This is just here because, possible not necessary
    
    string dt = DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss");
    dt = dt.Replace("/", "-");
    dt = dt.Replace(":", "-");
    dt = dt.Replace(" ", "-");
    
    string reportDirectory = uncPathToScript.Substring(uncPathToScript.LastIndexOf("\\") + 1);
    reportFilePath = uncPathToScript + "\\" + reportDirectory + "_" + dt;
    
    // Create the report directory under the test itself with a date time stamp
    
    System.IO.Directory.CreateDirectory(reportFilePath);  // Create the report directory as a subdirectory of the script to run
    
    qtRRO.ResultsLocation = reportFilePath;  // Set results location to newly created path (folder)
    
    // Run the test
    qtTest.Run(qtRRO, true, null);  // run the test
    qtTest.Close();  // Close the test
    System.Runtime.InteropServices.Marshal.FinalReleaseComObject(qtTest);  // Cleanly release COM object
    qtTest = null; // set object to null
    
    qtApp.Quit();  // Quit QTP
    
    GC.Collect();  // Garbage collect
    GC.WaitForPendingFinalizers();  // Wait for GC
    System.Runtime.InteropServices.Marshal.FinalReleaseComObject(qtApp);  // Cleanly release COM Object
    qtApp = null;  // set to null


    Member 12154788

    где можно достать Interop.QuickTest.dll и в настоящее время есть ли какое-либо другое решение, которое можно использовать для автоматизации uft ?