产品可以符合零或几个标准,例如STD1,STD2,STD3。
XML有一个可选字段,我们称之为@RunWith(Parameterized.class)
public class SeleniumTestcaseParameterized {
WebDriver driver;
private String userName,password;
public SeleniumTestcaseParameterized(String userName,String password)
{
this.userName=userName;
this.password=password;
}
@Parameters
public static Collection<Object[]> data(){
Object[][] data= new Object[][]{{"usernameFromForm","passwordFromForm"}};
return Arrays.asList(data);
}
........
}
。
我能做出类似的东西吗? (这里我使用逗号。)
complies
如何定义此XSD类型?
答案 0 :(得分:3)
为具有多个值的元素设计XML结构的正确方法是单独标记每个此类值,在这种情况下为standard
元素:
<complies>
<standard>STD1</standard>
<standard>STD2</standard>
</complies>
这将允许XML模式(XSD,DTD等)直接验证。这是这种结构的简单XSD:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="complies">
<xs:complexType>
<xs:sequence>
<xs:element name="standard" minOccurs="0" maxOccurs="unbounded">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="STD1"/>
<xs:enumeration value="STD2"/>
<xs:enumeration value="STD3"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
此方法还允许您直接利用XML解析器,从而避免必须微分析complies
元素。
或者,如果您不想引入单独的standard
元素,
<complies>STD1 STD2</complies>
你可以使用XSD&#39; xs:list
构造:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="complies">
<xs:simpleType>
<xs:list>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="STD1"/>
<xs:enumeration value="STD2"/>
<xs:enumeration value="STD3"/>
</xs:restriction>
</xs:simpleType>
</xs:list>
</xs:simpleType>
</xs:element>
</xs:schema>
感谢John Saunders提供这个有用的建议。