2014-12-15 3 views
1

Я столкнулся с ситуацией, когда мне нужно захватить ответ службы и сохранить в файле excel для разных комбинаций данных.UFT API - Как захватить динамические массивы сообщений из ответа API и написать в excel

Я написал специальный код и обновляю ответ в excel, если ответ службы только с одним сообщением. Но сообщения определяются в массиве [] в ответе xml. Возможно, ответ службы с несколькими сообщениями на основе входных данных, которые я использую. Это то, где мой тест терпит неудачу.

Может ли кто-нибудь помочь мне, как с этим справиться?

Сообщение об ошибке: Сообщение Не удалось получить информацию о недвижимости: OutputEnvelope с XPath: (.) ​​/ [(.) Локальное имя = 'Envelope'] [1]/ [локальное имя =» Body]] [1]/[local-name (.) = 'GetRequestContextOut'] [1]/ [local-name (.) = 'Messages'] [1]/[local-name (.) = 'Message'] [4]/ [местное имя 'messageKey' =] [1]

ответ

0

Есть два способа сделать это
первый (.): Вы можете объявить входные переменные и указывать каждую переменную в соответствующие ключ под массивом. когда вы выполняете привязку данных, UFT спросит что-то вроде того, что да, вы UFT создадите для вас цикл, чтобы, однако, количество элементов под массивом, оно будет подсчитывать количество групп (например, Flight/customer/orderNumber /) и цикл это согласно счету. на этом этапе все, что вам нужно сделать, это записать эти динамические ключи массива в файл Excel.

2nd: вы также можете делать это программно. вот как это работает. Сначала объявите входную переменную и перейдите к целевому массиву, привяжите ее к переменной, чтобы она удерживала список узлов xml. то вы можете использовать xml Dom для доступа к значению childNodes. Было бы что-то вроде этого:
XmlNodeList Lst = VariableThatHoldNodeListArray;
XmlNodeList myTargetNodes = Lst.GetElementsByTagName ("YourTagHere");
для (INT I = 0, я < myTargetNodes.count, я ++) {

this.context.UserLogger.info (myTargetNode.item (я) .innerText);
}

Я рекомендую вам пойти в UFT раздел Помощи, есть некоторые ценный регресс, что вы будете удивлены, я узнал, большинство из того, что я знаю, что оттуда, потому что даже я знаю достаточно C#, чтобы написать пользовательский код, я сделал не знаю, какой класс доступен, что является ссылкой на объекты, в помощи он будет перечислять все доступные объекты и методы. Надеюсь, это помогло. дайте мне знать, если вам понадобится больше вопросов

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

  • Нет связанных вопросов^_^