我是硒Web测试的新手,我已经针对Web基本应用程序自动执行了登录过程。现在要进行注册流程,我被困在将验证码发送到邮件地址的位置,然后我必须将其复制到我的验证码字段中,然后继续进行操作
到目前为止,我一直在搜索关于mailosaur服务器的信息,但无法将该电子邮件验证代码复制到我的自动Web浏览器中。我也搜索了教程,但找不到任何有用的资源。我也想生成随机的电子邮件,这部分内容也没有引起我的注意。
由于我是硒的新手,所以请提供详细的答案,以便我能更好地理解它。在此先感谢您,致力于Intellij和Mavaen(Java)的开发
答案 0 :(得分:0)
您可以使用mailinator.com。无需注册或创建邮箱。在您的应用中,只需输入名称为@ mailinator.com的电子邮件(asad1 @ mailinator.com,asadXY @ mailinator.com,等等)即可。
要收集确认链接(选择加入),我正在使用此
:public class Mailinator {
public WebDriver driver;
public Mailinator(WebDriver driver) {this.driver = driver;}
public String urlMailinator = "https://www.mailinator.com/";
public WebDriverWait waitSec(WebDriver driver, int sec) {return new WebDriverWait(driver, sec);}
public static String doubleOptInLink = null;
public String getDoubleOptInLink() {return doubleOptInLink;}
public void setDoubleOptInLink (String doubleOptInLink) {Mailinator.doubleOptInLink = doubleOptInLink;}
public void collectDoubleOptInLink(String userEmail, int expectedNumberOfDeliveredEmails) throws InterruptedException {
driver.get(urlMailinator);
WebElement fldInbox = waitSec(driver, 5).until(ExpectedConditions.elementToBeClickable(By.id("inboxfield")));
fldInbox.sendKeys(userEmail);
WebElement btnGo = driver.findElement(By.xpath("/html/body/section[1]/div/div[3]/div[2]/div[2]/div[1]/span/button"));
btnGo.click();
waitSec(driver, 600).until(ExpectedConditions.numberOfElementsToBe((By.xpath("//*[@id=\"inboxpane\"]/div/div/div/table/tbody/tr")), expectedNumberOfDeliveredEmails));
WebElement lastMailLink = driver.findElement(By.xpath("//*[@id=\"inboxpane\"]/div/div/div/table/tbody/tr"));
lastMailLink.click();
Thread.sleep(3000);
driver.switchTo().frame(driver.findElement(By.id("msg_body")));
setDoubleOptInLink(driver.findElement(By.xpath("//*[@id=\"intro\"]/tbody/tr/td/a")).getAttribute("href"));
}
}
在我的情况下:
collectDoubleOptInLink(email, 1);
是将确认链接设置为doubleOptInLink
getDoubleOptInLink();
调用另一种方法转到确认链接当然,您需要更改setDoubleOptInLink()
附带的字符串;
在特定情况下,请不要忘记setDoubleOptInLink(null);
。