【问题标题】:How to select a random values from the property file for Selenium Webdriver?如何从 Selenium Webdriver 的属性文件中选择一个随机值?
【发布时间】:2014-04-03 03:13:28
【问题描述】:

目前我正在开发 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 中可用

请给我建议任何解决方案。

我已经使用代码从属性文件中读取了所有值

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。

【问题讨论】:

  • 你需要做的首先是读取一个属性文件——谷歌“java读取属性文件”,第一个结果会告诉你怎么做。从属性文件中获取值后,现在选择一个随机集并根据您的 UI 进行验证。
  • 我是java初学者,谁能给我示例代码
  • @User11111:避免一次又一次地发布相同的问题
  • 如果您有疑问,我没有得到任何答案请检查我的其他问题并比较它是否相同
  • @User11111:一切都围绕一件事从属性文件中获取值并将其与 dropdwon 值进行比较

标签: java selenium selenium-webdriver webdriver


【解决方案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;
}

【讨论】:

  • 嗨,我刚试过这个答案,但总是得到 rLocation =0。当我调试时,直到断路器我可以看到用逗号分隔的所有值。
【解决方案2】:

此代码将检索所有选项

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 
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-04
    • 1970-01-01
    • 1970-01-01
    • 2014-09-30
    相关资源
    最近更新 更多