我想使用随机 xml 生成器工具通过从 xsd 生成随机 xml 文件来执行随机测试。(我正在使用氧气工具)
随机生成器不会对生成的值应用语义限制。例如,我有一个元素“parameters”,它具有多个元素“parameter”,例如 p1 和 p2,另一方面,我有另一个元素“constraint”,它将使用“parameter”。我的意思是如果我有 P1, P2 ,它应该使用 p1 和 p2 的子集。我想强制随机生成器工具使用它们(p1 和 p2),而不是再次为约束随机生成一些其他参数。我使用了“key”、“keyref”和.. 但它仍然不起作用。它只是在没有任何限制的情况下在任何地方生成随机字符串,我不得不提到我选择了“元素和属性的值:随机(应用限制)”选项 所以它应该在生成随机值时考虑限制,但它没有!请帮忙..
有效 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>
谢谢