簡體   English   中英

使用變量中的元素在 Soap 調用中發送 XML 文件 - Robot Framework

[英]Sending XML file in Soap call with elements in variables - Robot Framework

我正在使用 Robot Framework(庫 XML 和 Soap)進行自動化測試,我非常懷疑......

我有以下 XML 文件 (.xml):

<?xml version="1.0" encoding="UTF-8"?>
<datas>
    <data id="person">
        <phone>83910388</price>
        <name>Test</name>
    </data id>
</datas>

我想在我的“電話”和“姓名”屬性中保留一個動態數據(變量)。 這個變量將通過 Faker 庫填充到我的測試用例中。

我可以這樣做嗎? 作為?

我嘗試了幾種方法,例如下面的示例,但都沒有成功... =/

*** Variables ***
${PHONE}    928466190

*** Test Cases ***

Test XML
    ${file}    Parse Xml    ${path_to_file}
    
    ${element}    Get Element Attribute    ${file}    //datas

    Set Element Attribute    ${element}    phone    ${PHONE}

我可以這樣做嗎? 作為?

我以不同的方式嘗試過。 例如,我使用了關鍵字“Set Element Attribute”。 此關鍵字添加動態數據但不保存在文件中並發送。

非常感謝!!!!

嘗試 xml linq。您的 xml 中有拼寫錯誤,我已更正。 此外,當從文件中讀取時,使用 Load 而不是 Parse。 您的原始代碼不正確,使用了 Parse 而不是加載。

using assembly System.Xml.Linq

$xml = @'
<?xml version="1.0" encoding="UTF-8"?>
<datas>
    <data id="person">
        <phone>83910388</phone>
        <name>Test</name>
    </data>
</datas>
'@
 $doc = [System.Xml.Linq.XDocument]::Parse([string]$xml)
$phone = $doc.Descendants().Where( {$_.Name.LocalName -eq "phone"})
$phone = [System.Linq.Enumerable]::Last($phone)
$phone.Value = "1234567"
$data
$doc.Save(Filename)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM