关于java:生成随机电子邮件

Generate random emails

你能帮帮我吗??如何使用JAVA使用硒生成随机电子邮件??

我在StackOverflow中查看这里,但还没有找到答案。我试过了,但没用


您需要随机字符串生成器。我从这里偷了这个答案。

1
2
3
4
5
6
7
8
9
10
11
12
protected String getSaltString() {
        String SALTCHARS ="ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
        StringBuilder salt=new StringBuilder();
        Random rnd = new Random();
        while (salt.length() < 10) { // length of the random string.
            int index = (int) (rnd.nextFloat() * SALTCHARS.length());
            salt.append(SALTCHARS.charAt(index));
        }
        String saltStr = salt.toString();
        return saltStr;

    }

在代码中称之为getSaltString()+"@gmail.com"


你也可以使用mockneat。库的一个简单示例是:

1
2
String email = mock.emails().val();
// Possible Output: [email protected]

或者如果要从特定域生成电子邮件:

1
2
String corpEmail = mock.emails().domain("startup.io").val();
// Possible Output: [email protected]


这是我的随机电子邮件生成器的解决方案。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 //randomestring() will return string of 8 chars

  import org.apache.commons.lang3.RandomStringUtils;

  public String randomestring()
  {
    String generatedstring=RandomStringUtils.randomAlphabetic(8);
    return(generatedstring);
   }


  //Usage
   String email=randomestring()+"@gmail.com";

 //For Random Number generation
////randomeNum() will return string of 4 digits

   public static String randomeNum() {
        String generatedString2 = RandomStringUtils.randomNumeric(4);
        return (generatedString2);
     }

试试这个方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/**
 * @author mbn
 * @Date 05/10/2018
 * @Purpose This method will generate a random integer
 * @param length --> the length of the random emails we want to generate
 * @return method will return a random email String
 */

public static String generateRandomEmail(int length) {
    log.info("Generating a Random email String");
    String allowedChars ="abcdefghijklmnopqrstuvwxyz" +"1234567890" +"_-.";
    String email ="";
    String temp = RandomStringUtils.random(length, allowedChars);
    email = temp.substring(0, temp.length() - 9) +"@testdata.com";
    return email;
}

如果您不介意添加一个库,那么generex非常适合测试数据。https://github.com/mifmif/generex

如果您正在使用maven,请将其添加到pom.xml中,否则请检查上面的链接以获取其他选项。

1
2
3
4
5
    <dependency>
        <groupId>com.github.mifmif</groupId>
        generex</artifactId>
        <version>1.0.2</version>
    </dependency>

然后:

1
2
3
4
// we have to escape @ for some reason, otherwise we get StackOverflowError
String regex ="\\w{10}\\@gmail\\.com"
driver.findElement(By.id("emailAddressInput"))
           .sendText(new Generex(regex).random());

它使用正则表达式指定随机生成的格式。上面的regex生成10个随机字字符,[email protected]。如果您需要更长的用户名,请更改数字10。

如果你想为津巴布韦(我住的地方)生成一个随机的手机号码:

1
String regex ="2637(1|3|7|8)\\d{7}";

这个图书馆为我节省了很多时间。