package cn.gloryroad.testScript;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeMethod;
import static cn.gloryroad.util.KeyBoardUtil.pressEnterKey;
import static cn.gloryroad.util.KeyBoardUtil.setAndctrlVClipboardData;
import static cn.gloryroad.util.WaitUtil.sleep;
import java.awt.AWTException;
import java.awt.Robot;
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.Assert;
import org.testng.annotations.AfterMethod;
public class TestLogin {
private WebDriver driver;
private String baseUrl="https://mail.126";
@Test
public void testLogin() throws InterruptedException, Exception {
//访问被测试网址“http://mial.126”
driver.get(baseUrl);
sleep(1500);
driver.findElement(By.id("switchAccountLogin")).click();//点击密码登陆
WebElement iframe = driver.findElement(By.xpath("//iframe[contains(@id,'x-URS-iframe')]"));
//切换iframe
driver.switchTo().frame(iframe);
//登录首页的用户名和密码输入框使用iframe加载,暂停4秒等待加载
sleep(4000);//在同一个包中自定义的方法,读者可以使用Thread.sleep来实现相同的功能
//定位126邮箱登录首页的用户名输入框
WebElement userName = driver.findElement(By.name("email"));
//定位126邮箱登录首页的密码输入框
WebElement password = driver.findElement(By.name("password"));
//定位126邮箱登录首页的“登录”按钮
WebElement loginButton = driver.findElement(By.id("dologin"));
//清楚用户名输入框的内容
userName.clear();
//在用户名输入框输入用户名吗和密码
userName.sendKeys("lisi@126");//用户名和密码需要更改
password.sendKeys("lisi126");
//单击登录按钮
loginButton.click();
driver.switchTo().defaultContent();//此处如果不切换回来后续的操作会报错
sleep(5000);
//点击写信
driver.findElement(By.xpath("//*[@id='_mail_component_19_19']")).click();
sleep(5000);
//输入联系人和标题
driver.findElement(By.xpath("//*[contains(@id,'_mail_emailinput_')]/input")).sendKeys("zhangsan@126");
driver.findElement(By.xpath("//input[contains(@id,'_subjectInput')]")).sendKeys("自动化测试发送邮件");
/*
* 添加附件,
* 添加附件的方法有两种,读者可以参考https://blog.csdn/qq_32897143/article/details/82014603
*/
driver.findElement(By.xpath("//*[contains(@id,'_attachBrowser')]/input")).sendKeys("C:\\Users\\bruce\\Desktop\\1.pdf");
sleep(5000);
//切换iframe
WebElement write_iframe = driver.findElement(By.className("APP-editor-iframe"));
driver.switchTo().frame(write_iframe);
//输入邮件正文
driver.findElement(By.xpath("html/body/p")).sendKeys("这是自己测试的一封邮件");
driver.switchTo().defaultContent();
/*
* 由于发送按钮有两个,所以我们随便获取一个然后进行发送
*/
List<WebElement> buttons = driver.findElements(By.xpath("//*[contains(@id,'_mail_button_')]/span[contains(.,'发送')]"));
//点击发送按钮
buttons.get(1).click();
Assert.assertTrue(driver.getPageSource().contains("发送成功"));
sleep(5000);
}
@BeforeMethod
public void beforeMethod() {
//设置id浏览器的驱动文件的路径
System.setProperty("webdriver.chrome.driver","E:\\User\\Driver\\chromedriver_win32\\chromedriver.exe");
driver = new ChromeDriver();
}
@AfterMethod
public void afterMethod() {
driver.quit();
}
}
注意:
读者在参考的时候只需要注意关键语句即可,由于本人在上传时并没有在意格式和注释是否符合开发规范,所以可能存在问题,希望大家可以选择性参考
更多推荐
java+selenium自动化测试网易邮箱从登陆到发送邮件
发布评论