我在Selenium RC中使用下面的代码生成了随机数,但它在Webdriver中不起作用

时间:2012-12-11 08:23:13

标签: webdriver selenium-webdriver

对于Selenium RC中的随机数生成,我有代码,但它在Webdriver中无法正常工作。如果我在webdriver中使用以下代码,则返回null。请在webdriver

中找到以下代码
String Randnum = (String) ((JavascriptExecutor) driver).executeScript("var d=new Date().getFullYear()+new Date().getDate().toString()" +
            "+new Date().getDay()" +
            "+new Date().getHours()" +
            "+new Date().getMinutes()" +
            "+new Date().getSeconds()" +
            "+new Date().getMilliseconds()");

请帮助我...帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

您缺少return语句。没有,javascript将运行但不返回任何内容。

String Randnum = (String) ((JavascriptExecutor) driver).executeScript("return new Date().getFullYear() + new Date().getDate().toString() + new Date().getDay() + new Date().getHours() + new Date().getMinutes() + new Date().getSeconds() + new Date().getMilliseconds()");

答案 1 :(得分:1)

为什么你不能用Java尝试同样的事情?

Calendar currentDate = Calendar.getInstance();
SimpleDateFormat formatter= new SimpleDateFormat("MM_dd_yyyy_hh_mm_ss");
String randomName = formatter.format(currentDate.getTime());

答案 2 :(得分:0)

下面的javascript代码

function displayRandum()
{

     var d = new Date().getFullYear()+new Date().getDate().toString() + new Date().getDay() + new Date().getHours()+new Date().getMinutes() + new Date().getSeconds()+new Date().getMilliseconds();
     alert(d);

}

完美无缺。你可以尝试使用Selenium代码,将所有内容保存在一行中(不需要额外的“+”和“字符”。

编辑:(错过了回复声明。看到Arran的回复并意识到了这一点。)

function returnRandum()
{

     var d = new Date().getFullYear()+new Date().getDate().toString() + new Date().getDay() + new Date().getHours()+new Date().getMinutes() + new Date().getSeconds()+new Date().getMilliseconds();
     return d;

}