如何使用硒生成随机DOB

时间:2013-11-20 07:27:00

标签: java selenium random

我有以下HTML:

< input name =“txtDDOB”tabIndex =“7”id =“txtDDOB”style =“top:-2px; width:128px; position:relative;” onblur =“checkForDate()”type =“text”range =“1850-2050”format =“%m /%d /%Y”value =“01/01/1900”/>

我想生成随机DOB。请帮助我。我使用的是Java,selenium,IE 10,Windows 8。

请在使用您的代码时告诉我要导入的软件包。非常感谢。

2 个答案:

答案 0 :(得分:1)

您好使用以下方法。您需要提供开始和结束年份,它将生成出生的随机数据。

private String randomDataOfBirth(int yearStart, int yearEnd)
    {
        GregorianCalendar gc = new GregorianCalendar();
        int year = randBetween(yearStart, yearEnd);
        gc.set(Calendar.YEAR, year);
         int dayOfYear = randBetween(1, gc.getActualMaximum(Calendar.DAY_OF_YEAR));

            gc.set(Calendar.DAY_OF_YEAR, dayOfYear);
            String date = null;
            if(gc.get(Calendar.MONTH) == 0)
            {
                 date = gc.get(Calendar.YEAR) + "-" + 1 + "-" + gc.get(Calendar.DAY_OF_MONTH);
            }else
            {
                 date = gc.get(Calendar.YEAR) + "-" + gc.get(Calendar.MONTH) + "-" + gc.get(Calendar.DAY_OF_MONTH);
            }
            return date;    
    }

    private int randBetween(int start, int end) {
        return start + (int)Math.round(Math.random() * (end - start));
    }

答案 1 :(得分:0)

  1. 创建一个新的随机数%28 +1(对于日期...只是为了安全...检查29,30,31天需要一些代码)。
  2. 创建另一个随机%12 +1(月)
  3. 创建一个随机数%113 + 1900(年份..因此您的最小数量将是1900,最大值将是2013年)
  4. String s = num1 +“/”+ num2 +“/”+ num3。
  5. 编译并运行。