Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 生成随机电子邮件_Java_Selenium - Fatal编程技术网

Java 生成随机电子邮件

Java 生成随机电子邮件,java,selenium,Java,Selenium,你能帮帮我吗?? 如何使用Selenium和Java生成随机电子邮件 我在stackoverflow里找过,但还没有找到答案。 我试过了,但没用。你需要随机字符串生成器。这是我偷来的答案 受保护的字符串getSaltString(){ 字符串SALTCHARS=“abcdefghijklmnopqrstuvxyz1234567890”; StringBuilder salt=新的StringBuilder(); 随机rnd=新随机(); while(salt.length()

你能帮帮我吗?? 如何使用Selenium和Java生成随机电子邮件

我在stackoverflow里找过,但还没有找到答案。
我试过了,但没用。

你需要随机字符串生成器。这是我偷来的答案

受保护的字符串getSaltString(){
字符串SALTCHARS=“abcdefghijklmnopqrstuvxyz1234567890”;
StringBuilder salt=新的StringBuilder();
随机rnd=新随机();
while(salt.length()<10){//随机字符串的长度。
int index=(int)(rnd.nextFloat()*SALTCHARS.length());
salt.append(SALTCHARS.charAt(索引));
}
字符串saltStr=salt.toString();
返回saltStr;
}

在你的代码中称它为
getSaltString()+“@gmail.com”
如果你不介意添加一个库,那么Generex非常适合测试数据。

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

    <dependency>
        <groupId>com.github.mifmif</groupId>
        <artifactId>generex</artifactId>
        <version>1.0.2</version>
    </dependency>
它使用正则表达式指定随机生成的格式。上面的正则表达式是生成10个随机单词字符,append@gmail.com。如果您想要更长的用户名,请更改数字10

如果您想为津巴布韦(我居住的地方)生成随机移动电话号码:

这本书帮我节省了很多时间。

试试这个方法

/**
 * @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;
}
您也可以使用。该库的一个简单示例是:

String email = mock.emails().val();
// Possible Output: icedvida@yahoo.com
或者,如果您想从特定域生成电子邮件:

String corpEmail = mock.emails().domain("startup.io").val();
// Possible Output: tiptoplunge@startup.io

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

 //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);
     }

在Kotlin有一种方法可以做到:

object EmailGenerator {
    private const val ALLOWED_CHARS = "abcdefghijklmnopqrstuvwxyz" + "1234567890" + "_-."

    @Suppress("SpellCheckingInspection")
    fun generateRandomEmail(@IntRange(from = 1) localEmailLength: Int, host: String = "gmail.com"): String {
        val firstLetter = RandomStringUtils.random(1, 'a'.toInt(), 'z'.toInt(), false, false)
        val temp = if (localEmailLength == 1) "" else RandomStringUtils.random(localEmailLength - 1, ALLOWED_CHARS)
        return "$firstLetter$temp@$host"
    }
}
渐变文件:

// https://mvnrepository.com/artifact/org.apache.commons/commons-lang3
implementation 'org.apache.commons:commons-lang3:3.7'

您可以创建用于生成唯一id的方法

 public static String getUniqueId() {
            return String.format("%s_%s", UUID.randomUUID().toString().substring(0, 5), System.currentTimeMillis() / 1000);
        }
然后对需要的主机名使用此方法

 public static String generateMailinatorEmail() {
        return String.format("%s@%s", getUniqueId(), "yourHostName.com");
    }
另一种解决方案:

javafaker.Faker添加依赖项


电子邮件地址或真实邮箱?如果您只想生成电子邮件,则不需要selenium。到目前为止,你能添加你的代码吗?我添加了我的代码,我只想在每次运行时生成一封随机电子邮件。你只需要在代码中添加随机字符串生成器。@karlaA我更新了下面的答案,谢谢。我将尝试将其与seleniumOkay集成让我试试。@karlaA只需单击我答案右侧的符号即可。完成。:)感谢您的帮助,电子邮件不应以数字开头,否?以执行电子邮件正则表达式为例(第一行末尾缺少分号),它会导致StackOverflower错误。我可以通过在@
// https://mvnrepository.com/artifact/org.apache.commons/commons-lang3
implementation 'org.apache.commons:commons-lang3:3.7'
 public static String getUniqueId() {
            return String.format("%s_%s", UUID.randomUUID().toString().substring(0, 5), System.currentTimeMillis() / 1000);
        }
 public static String generateMailinatorEmail() {
        return String.format("%s@%s", getUniqueId(), "yourHostName.com");
    }
import com.github.javafaker.Faker;

public static String randomEmail() {
      Faker faker = new Faker();
      return faker.internet().emailAddress();
    }