我想要使用隨機xml生成器工具,以通過從xsd生成隨機xml文件來執行隨機測試。 (我正在使用氧氣工具)如何生成語義上有效的隨機XML文件?
隨機生成器不會對生成的值應用語義限制。例如我有一個元素「參數」,它具有多個元素「參數」,例如p1和p2,另一方面,我有另一個元素「約束」,它將使用「參數」。我的意思是如果我有P1,P2,它應該使用p1和p2的一個子集。我想強制隨機生成器工具使用它們(p1和p2),而不是爲約束再次隨機生成一些其他參數。我用「鑰匙」,「鑰匙參考」和..但它仍然無法正常工作。 它只是生成隨機字符串,沒有任何限制,我不得不提及的是,我選擇「元素和屬性的值:隨機(應用限制)」選項。因此,它應該考慮生成隨機值時的限制,但它不會!請幫助..一個有效的XML
示例:
<system>
<parameters>
<parameter id="1" name="p1" >
<value id="1" name="value1"/>
<value id="2" name="value2"/>
</parameter>
<parameter id="2" name="p2" >
<value id="1" name="value1"/>
<value id="2" name="value2"/>
</parameter>
</parameters>
<constraint text="p1=p2">
<parameter name="p1"/>
<parameter name="p2"/>
</constraint>
</system>
所以我想的已經生成的參數(p1和p2)使用的子集,你可以看到在上面的例子,而不是產生一些其他隨機參數,因爲然後所有生成的xml都是無效的,我想要一個有效的。一個無效的XML
示例:
<system>
<parameters>
<parameter id="1" name="p1" >
<value id="1" name="value1"/>
<value id="2" name="value2"/>
</parameter>
<parameter id="2" name="p2" >
<value id="1" name="value1"/>
<value id="2" name="value2"/>
</parameter>
</parameters>
<constraint text="**p3**=**p5**">
<parameter name="**p8**"/>
<parameter name="**p9**"/>
</constraint>
</system>
感謝
您是否要求提供一些預先存在的工具?或者寫出要求某人寫一個? – user17753
我要測試的工具是預先存在的。隨機生成器也可用(OXYGEN),但我不知道如何生成有效的XML,正如我上面所解釋的,隨機生成器將生成XML文件,它們的語法是正確的,但它們的語義不是!我不知道上面的例子是否清楚? – user1860496