如何创建将生成随机特殊字符的方法

时间:2017-04-04 21:10:49

标签: java selenium random automation

在我的自动化中我有一个输入,如果我输入spl字符它将给出一个错误,现在我想随机传递spl字符作为element.sendkeys()来验证它是否给出了错误。 任何人都可以帮我创建随机方法吗?

3 个答案:

答案 0 :(得分:0)

您可以使用所需的字符填充ArrayList,然后按随机生成的位置检索它们(例如,使用Math类)。

答案 1 :(得分:0)

如果我坚持你想要做的事情,那么创建和调用randomChar();应该会给你一个来自数组spl[]的随机特殊字符。如果愿意,可以将数字字符添加到数组中。

public static char randomChar(){
    char spl[] = "!@#$%^&*()".toCharArray(); 
    // Or char spl[] = {'!', '@', '#', '$', '%', '^', '&', '*'. '(', ')'};



    Random r = new Random();
    int Low = 0;
    int High = spl.length + 1;
    int Result = r.nextInt(High-Low) + Low;

    return spl[Result];

}

使用示例:

char c = randomChar();
System.out.println("By calling randomChar(), we got the character '" + c + "'");

您也可以使用它而不为变量赋值:

System.out.println(randomChar());

答案 2 :(得分:0)

尝试以下:

String allLetters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890";
String randomString;

    do{

        randomString=null;

        Random randomGenerator = new Random();
        char c = (char) (randomGenerator.nextInt(0xB4 - 21 + 1) + 21);

        randomString= "" + c;


    }while(allLetters.contains(randomString));


    System.out.println("Generated random special charactor" + randomString);