2016-06-16 3 views
1

Я пытаюсь запустить свой тест API через файл vbscript на основе объектной модели автоматизации. Я могу запускать, открывать и запускать свои тесты GUI, но для тестов API я получаю сообщение об ошибке «не могу открыть тест»: 800A03EE. Я где-то читал, что мой тестовый файл, вероятно, поврежден, поэтому я сохранил тест как новый, но все еще не работает.Выполнение API-теста UFT через vbScript


Ниже мой VBScript:

testPath = "absolute address to my API-test folder" 
Set objUFTapp = CreateObject("QuickTest.Application") 
objUFTapp.Launch 
objUFTapp.Visible = TRUE 
objUFTapp.Open testPath, TRUE  '------> throws the error 
Set pDefColl = qtApp.Test.ParameterDefinitions 
Set rtParams = pDefColl.GetParameters() 
Set rtParam = rtParams.Item("param1") 
rtParam.Value = "value1" 

objUFTapp.Test.Run uftResultsOpt,True, rtParams 

objUFTapp.Test.Close 
objUFTapp.Quit 
+0

Похоже, вы делаете правильный звонок. У вас есть права на чтение файлового сервера в файл? Я не слишком хорошо знаком с Qtp, но с 'objUFTapp.Open testPath, TRUE' Является ли это значение TRUE значением только для чтения? –

+0

Да, Джимми, точно. –

ответ

0

К моменту установки UFT мы можем выбрать дополнительный инструмент автоматизации, LeanFT.

В качестве основной функции LeanFT мы можем иметь тестовую среду рядом с нашей средой разработки либо в Java (Eclipse), либо в C# .net (Visual Studio). Также нам предоставляется инструмент идентификации объектов (GUI spy), который позволяет разрабатывать тест GUI не в VBScript, а на одном из самых мощных современных языков (Java или C#). С этим очень кратким резюме давайте посмотрим, как мы можем выполнять тесты API за пределами UFT IDE. После успешной установки инструмента LeanFT мы можем создать проект LeanFT в нашей Eclipse или Visual Studio. Create a new LeanFT project

C# код:

using HP.LFT.SDK; 
using HP.LFT.SDK.APITesting.UFT; 

...... 
[TestMethod] 
public void TestMethod1() 
    { 
     Dictionary<string, object> InputParameters = new Dictionary<string, object>(); 
     InputParameters.Add("environment", "TEST"); 
     APITestResult ExecutionResult = APITestRunner.Run("UFT Test Path" , InputParameters); 
     MessageBox.Show(ExecutionResult.Status.ToString()); 
..... 
} 

Наверняка выше код просто чтобы дать вам представление, хотя он работает довольно хорошо. Для улучшения диагностики мы можем использовать другие библиотеки, такие как «HP.LFT.Verifications» для проверки результата. Важно: вы не можете использовать UFT и LeanFT одновременно с вашим механизмом выполнения!

1

По какой-то неизвестной причине, я также сталкиваются с аналогичной проблемой.
В качестве обходного пути, я создал один тест GUI, из которого я звоню тест API, как это:

RunAPITest "API_Test_Name" 

Для этого:

1. Создать новый тест GUI
2. Перейти к Design ->Call to existing API test
3. Введите путь к тесту API в Test path
4. Выберите <Entire Test> для Call to
5. Вы можете пройти любой Input или Output параметр из этого экрана
Нажмите OK

Теперь вы можете использовать свой собственный VBScript для вызова этого теста GUI, который будет запускать ваш желаемый тест API.

Я знаю, что это не очень хорошая идея, но это выполнит свою работу.

+0

thnx Manish Это текущее обходное решение, которое используется вместо этого, однако этот способ имеет свою собственную выгоду в отношении параметра, передаваемого в тесты APi и ядра центрального управления с большей степенью свободы. –

+0

Я согласен, и я не уверен, как вы обрабатываете свои тестовые данные в своем тесте, но вы можете определенно использовать Excel в качестве базы данных (это то, что я использую) для обработки различных тестовых данных для вашего теста. – ManishChristian

Смежные вопросы