используйте выходной тестовый пример (xml) в другом тестовом примере, таком как входное значение, среда RIDE/робот

У меня есть проблема с автоматизацией моих тестовых случаев, поэтому моя проблема в том, что мне нужно использовать значение выходного тестового примера в следующем тестовом примере как ввод... Я не могу найти решение, у кого-нибудь есть идеи??


person Dali    schedule 12.03.2017    source источник


Ответы (2)


В руководстве по Robot Framework есть специальный раздел переменные и область переменных. В этих разделах вы найдете ключевые слова, которые вы можете использовать. Если вы Set Suite Variable если значение переменной не должно выходить за пределы набора (т.е. файла). Если вы хотите, чтобы значение оставалось за пределами этой точки, используйте Set Global Variable.

person A. Kootstra    schedule 12.03.2017

Если это одно значение, вы можете установить значение, используя «Установить переменную пакета» или «Установить глобальную переменную», и использовать то же значение непосредственно в другом тесте. (ИЛИ) Если результат приходит в формате xml, используйте библиотеку XML и прочитайте значения. пример программы

Как вы упомянули, ваш вывод выглядит как <clientID>13044512</clientId>, я создаю файл xml, как показано ниже: (добавлен тег, потому что только он не будет работать, ему нужен какой-то корневой тег, дайте мне знать, придет ли что-нибудь или нет, если нет, я объясню как добавить этот корневой тег)

output.xml
<clientID>13044512</clientID>


*** Settings ***
Library           XML
Library           OperatingSystem
*** variables ***
${xmlFile}=      \path\to\xmlfile\output.xml

*** Test cases ***
Access xml tag text
     # Get the xml file contents
     ${file}=    Get File    ${xmlFile}

     #create file and update the old same file with root tag
     Create File    ${xmlFile}    <xml>${file}</xml>

     #parse xml to element tree structure and get root tag
     ${rootTag}=    Parse Xml    ${xmlFile}

     #from root tag find the following element text
      ${value}=    Get Element Text    ${rootTag}    clientID    normalize_whitespace=True

${value} будет иметь значение 13044512.

Если в xml файле есть тег, отличный от тега, то вместо clientID нужно указать путь элемента от корневого тега.

Надеюсь, это решит проблему.

person Sarada Akurathi    schedule 12.03.2017
comment
проблема не в том, чтобы установить переменную набора или глобальную переменную, проблема в том, как получить элемент из вывода (выход - файл xml) и как он будет известен в среде робота. это настоящая проблема. - person Dali; 13.03.2017
comment
прочитайте этот xml в другом тестовом примере и используйте, у платформы робота есть библиотека XML для работы на xml, обновил ответ с примером xml - person Sarada Akurathi; 13.03.2017
comment
Вы можете объяснить, что такое ${elementXpath}? это не может быть решено с помощью робота - person Dali; 13.03.2017
comment
обновил ответ на основе вашего xml, проверьте, если, кроме ‹clientID›, в xml не будет других тегов, тогда нам нужно добавить «корневой тег», в ответе есть шаги, в том числе как добавить корневой тег, если это не требуется затем используйте код из третьей строки. пожалуйста, убедитесь, что в следующий раз предоставьте полную информацию в вопросе, это сэкономит ваше время и человека, который вам поможет, спасибо - person Sarada Akurathi; 13.03.2017
comment
Спасибо, но мне нужно указать путь к элементу, потому что у меня большой вывод xml. у тебя есть идея? - person Dali; 13.03.2017
comment
кроме корневого узла, укажите полный путь до вашего элемента. пожалуйста, удалите свои ответы на этот вопрос, это ваши комментарии, а не ответы, пожалуйста, сделайте это в следующий раз; если возможно дайте мне образец файла xml - person Sarada Akurathi; 13.03.2017