目前我正在研究Selenium WebDriver并使用Java。 我有一个有许多下拉菜单的过滤器部分 在每个下拉列表中,我有很多选项可用于所有下拉菜单。 我把它放在名为Dropdown.properties
的属性文件中的所有选项我在C:目录中有一个属性文件(dropdown.properties)。看起来像
visualizationId=Day,Week,Month,Quarter,Semester,Year,RD Tech Group,ICC,Center,Software Pack,Product,Project,Customer PRs,Severity,Priority
periodId=Last 4 Weeks,Last 52 Weeks,Date Range,Week Range,Month Range,Year To Date
classificationId=All PRs,External PRs,Internal PRs,Customer PRs
topographyId=Overall,Center,ICC
swpacksId=ADVIP,ADVLEG,ADVSEC,Boot,H323,IBC,MULTI,None,OneOS_EAD,PROXY,SBO,SIP,TDRE,VoDSL
priorityId=Very Urgent,Urgent,Routine,Not Urgent,On Hold,Not Assigned
severityId=Blocking,Major,Minor,Cosmetic,OLD PR
通过为每个下拉列表使用Java,它需要从属性文件中选择几个值,并且需要与UI进行比较是否存在选项。
它不应该检查订单或者只是想检查属性文件中随机选择的选项是否在UI中可用
请建议我解决。
我已使用代码
读取了Property文件中的所有值Properties APPTEXT = new Properties();
Log.info("Getting Input from the Property file");
FileInputStream fs = new FileInputStream("C:\\FilterSection\\dropdown.properties");
APPTEXT.load(fs);
System.out.println("Propertyfile : " +APPTEXT);
任何人都可以帮我从属性文件中选择几个值并需要检入UI。
答案 0 :(得分:1)
这可能会对你有所帮助。
public void getRandomOptions(dropdownName)
{
Properties dropdown = new Properties();
InputStream input = null;
String returnString=null;
input = new FileInputStream("yourconfig.properties");
dropdown.load(input);
String records = dropdown.getProperty(dropdownName);
StringTokenizer breaker = new StringTokenizer(records, ",");
int rLocation =(int) Math.random() * (breaker.countTokens()-1);
for(int i=0;i<rLocation ;i++)
{
if(breaker.hasMoreTokens())
returnString = breaker.nextToken();
}
return returnString;
}
答案 1 :(得分:0)
此代码将检索所有选项
WebElement element = driver.findElement(By.Id("dropdown_id"));
Select select = new Select(element);
List<WebElement> options = select.getOptions();
for(WebElement option : options){
System.out.println(option.getText());
// Compare this value with value retrieved from properties file
}