【问题标题】:Generate random numbers and update in XML file using Robot Framework使用 Robot Framework 生成随机数并在 XML 文件中更新
【发布时间】:2020-06-22 23:55:19
【问题描述】:

我有两个 XML 文件,在继续进行进一步评估之前,我在其中手动更改了值。我想知道如何使用 Robot Framework 更新 XML 文件中的值。

我使用了 faker 库来生成随机数,但我不知道如何在 XML 中更新它们。第一个 XML 文件是这样的:

<dns:ManageRequest>
    <SPResource>
        <ID>ORD452257337191</ID>
        <interactionDate>2016-09-20T02:35:30Z</interactionDate>
        <orderType>Connect</orderType>
        <SPResourceComprisedOf>
            <DescribedBy>
                <value>CLI0000000000191</value>
                <Characteristic>
                    <ID>clientID</ID>
                </Characteristic>
            </DescribedBy>
            <DescribedBy>
                <value>TOW566105009191</value>
                <Characteristic>
                    <ID>ticketOfWorkId</ID>
                </Characteristic>
            </DescribedBy>
        </SPResourceComprisedOf>
    </SPResource>
</dns:ManageRequest>

第二个 xml 文件如下所示:

<dns:ManageOrder>
    <FieldWork>
        <ID>WOR140618136785</ID>
        <Priority>
            <priorityValues>45</priorityValues>
        </Priority>
        <baseRevisionNumber>-1</baseRevisionNumber>
        <FieldWorkSpecifiedBy>
            <ID>Activation</ID>
            <version>1.0.5</version>
            <type>WorkOrder Specification</type>
        </FieldWorkSpecifiedBy>
        <FieldWorkOverview>
            <DescribedBy>
                <value>WRQ140618136785</value>
                <Characteristic>
                    <ID>Work Request ID</ID>
                    <type>Overview</type>
                </Characteristic>
            </DescribedBy>
            <DescribedBy>
                <value>ORD452257337191</value>
                <Characteristic>
                    <ID>Reference ID</ID>
                    <type>Overview</type>
                </Characteristic>
            </DescribedBy>
        </FieldWorkOverview>
    </FieldWork>
</dns:ManageOrder> 

在第一个 XML 文件中,ORD、CLI 和 TOW 的值需要更改,在第二个 XML 文件中,WOR 和 WRQ 需要更改,但第二个文件中 ORD 的值需要与 ORD 的值相同在第一个文件中。

我非常感谢任何帮助,因为我现在真的迷失了:(谢谢!

【问题讨论】:

    标签: python-3.x xml robotframework


    【解决方案1】:

    你可以使用 lxml 库。

    链接:https://pypi.org/project/lxml/

    这是使用您的值 ORD452257337191 将值编辑为“123456”的元素 ID 的示例。

    代码:

    ${file}=  get file  ${path_to_file}  encoding=UTF-8
    
    ${xml_file}=  parse xml  ${file}
    
    set element text  ${xml_file}  123456  xpath=ID
    
    save xml  ${xml_file}  ${path_to_file}  encoding=UTF-8
    

    【讨论】:

      猜你喜欢
      • 2014-04-26
      • 1970-01-01
      • 2021-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-14
      • 1970-01-01
      相关资源
      最近更新 更多