这可能是一个完全愚蠢的问题,但在Java或Selenium中是否可以强制测试人员使用特定字符串或值作为方法参数?
我正在编写一个测试人员用来编写测试的Selenium框架。他们没有看到Selenium代码。
我在框架中有一个名为setCustomerType
的方法,它从GUI中的4个有效值中选择一个单选按钮:Phone, Store, Online, Home
。我希望测试人员在他们的测试中没有选择将这些作为字符串参数输入,而是以某种方式从一组预定义的值中进行选择。这就是它目前的样子:
SetCustomerDetails.java
public void setCustomerType(String salesType){
WebElement salesTypeOption = driver.findElement(By.cssSelector("input[value=" + salesType + "][name='salesType']"));
fixedTypeOptions.click();
}
SetCustomerTypeTest.java
@Test
public void setCustomerType() {
SetCustomerDetails customerDetails = new SetCustomerDetails();
customerDetails.setCustomerType("Online");
}
答案 0 :(得分:3)
使用枚举。这可能看起来像这样:
public enum CustomerType {
Phone("Phone"), Store("Store"), Online("Online"), Home("Home");
private String id;
public CustomerType(String id) {
this.id = id;
}
public String getId() {
return id;
}
}
然后你的二传手看起来像这样:
public void setCustomerType(CustomerType salesType){
WebElement salesTypeOption = driver.findElement(By.cssSelector("input[value=" + salesType.getId() + "][name='salesType']"));
fixedTypeOptions.click();
}