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; } |
在代码中称之为
你也可以使用mockneat。库的一个简单示例是:
1 2 |
。
或者如果要从特定域生成电子邮件:
1 2 |
。
这是我的随机电子邮件生成器的解决方案。
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 |
。
这个图书馆为我节省了很多时间。