![](/img/trans.png)
[英]execution of individual test suite using pybot command where a folder has _init.txt file
[英]pybot not making test suite when there is a single case
我使用此命令運行pybot,
pybot --argumentfile a
文件“ a”具有機器人測試用例和變量參數的列表,例如:
-v test_type:SUITE
/home/sk/a.robot
/home/sk/b.robot
現在,測試用例分別是s1-s1-t1和s1-s2-t2。 Output.xml包含,
<suite id="s1" name="A & B">
<suite source="/home/sk/a.robot" id="s1-s1" name="A">
<test id="s1-s1-t1" name="Log Test">...</test>
現在,我刪除了一種情況,文件“ a”只有一種情況,因為
-v test_type:SUITE
/home/sk/a.robot
Output.xml包含,
<suite source="/home/sk/a.robot" id="s1" name="A">
<test id="s1-t1" name="Log Test">
-----------------</test></suite>
Robot不再在父級套件s1下創建子套件s1,而是運行ID為s1-t1的測試用例。 創建測試套件的這種不一致方式使我很難對output.xml進行DOM解析。
如果使用--argumentfile
選項運行,是否有一種方法可以強制機器人始終創建測試套件。
僅運行單個套件時,您將無法使機械手自動添加此特殊的頂級套件。 僅當您運行兩個或多個套件時,Robot才會自動生成此頂級套件。
在機器人框架用戶指南的標題為“ 指定要執行的測試數據 ”的部分中提到了此功能:
也可以一次給多個測試用例文件或目錄提供路徑,並用空格分隔。 在這種情況下,Robot Framework將自動創建頂級測試套件,並且指定的文件和目錄將成為其子測試套件。
注意 :這與參數文件的使用完全無關。 如果將參數直接放在命令行中,將得到完全相同的結果。
一種解決方案是啟動測試運行一個文件夾:將所有套件放在一個文件夾中,並始終僅運行該文件夾。 這將始終為您提供一致的頂級套件。 您仍然可以指定單個套件,但是按套件名稱而不是文件名
例如,代替此:
-v test_type:SUITE
/home/sk/a.robot
您可以這樣做:
-v test_type:SUITE
--suite a
/home/sk
這具有一個額外的好處,您可以創建將始終應用的頂級套件初始化文件(例如:/ /home/sk/__init__.robot
)。 請參見《機器人框架用戶指南》中的初始化文件 。
注意:如果/home/sk
除了測試套件以外還有其他內容,您可能希望將所有測試移至子文件夾(例如: /home/sk/tests/a.robot
/home/sk/tests/b.robot
等)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.