java+selenium自动化测试网易邮箱从登陆到发送邮件

编程入门 行业动态 更新时间:2024-10-28 18:31:39

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自动化测试网易邮箱从登陆到发送邮件

本文发布于:2023-06-11 03:39:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1380048.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:网易   发送邮件   邮箱   测试   java

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!