1、SeleniumWebDriver 测试邮箱案例Selenium 是目前比较流行的自动化工具,并且是开源的,支持多种主流浏览器。自动化测试有许多优点,如:a) 能够支持频繁的回归测试;b) 能够在软件开放过程中今早发现问题;c) 能够无限循环执行测试案例;d) 定制化的系统缺陷报告e) 更好地支持敏捷和极限开放模式;f) 避免人为因素导致漏测;在测试前,首先要明确测试范围,然后再编写测试用例测试对象:腾讯企业邮箱测试地址:http:/ 测试功能点:1、登陆企业邮箱;2、撰写邮件3、删除邮件4、搜索邮件接下来就是测试用例了,自动化测试用例跟功能测试用例其实是一样的,也可以从功能测试用例里拿来用。
2、登陆测试用例:登陆测试用例如下:步骤 操作步骤 检查点1 打开浏览器,在地址栏输入 http:/检查是否成功进入用户登录界面2 输入任意用户名,任意密码,单击“登录”按钮弹出提示3 账号为空,单击“登录”按钮 弹出提示4 不输入账号密码,点击登陆按钮 弹出提示52、撰写测试用例序号 操作步骤 检查点1 点击“写信”链接 打开编辑页面2 输入邮件标题标题,填写收件人 输入:收件人、邮件标题3 点击发送按钮 提示发送成功。 。 。3.搜索测试用例序号 操作步骤 检查点1 在搜索框输入存在的邮件标题 搜索到相关的邮件,列表展示邮件2 在搜索框输入不存在的邮件标题 提示没有邮件环境搭建:1、 安装好
3、JDK、Eclipse、firebug、selenium IDE2、 下载 selenium 和相应的 JAR 包(selenium-java-2.xxx.jar 和selenium-server-standalone-2.xxx.jar,xxx 表示版本号)3、 在Eclipse上创建一个测试程序:4、 如下图,新建一个JUnit Test Case,选择junit4,填写类名和包名,创建测试案例。5、创建测试程序有两种方法一、 由 selenium IDE 录制测试脚本, 这个功能跟 QTP 录制功能类似,不过没有 QTP 的强大,录制好脚本回放没问题后导出来,黏贴在 Eclipse 上,
4、修改相应的地方,最后运行测试案例。二、 利用辅助工具 firebug 定位页面元素后,然后在 Eclipse上写代码,运作测试案例。三、 可一次运行多个测试案例,运行测试套件 Suitepackage it.test;import org.junit.runner.RunWith;import org.junit.runners.Suite;import org.junit.runners.Suite.SuiteClasses;RunWith(value=Suite.class)SuiteClasses(value=Email.class,GHtest.class)public class S
5、uite1 代码:package it.test;import static org.junit.Assert.*;import org.junit.After;import org.junit.Before;import org.junit.Test;import org.openqa.selenium.firefox.FirefoxDriver;import org.openqa.selenium.remote.RemoteWebDriver;import org.openqa.selenium.By;import org.openqa.selenium.Keys;import org.o
6、penqa.selenium.WebDriver;import org.openqa.selenium.WebElement;public class Email private String username=““;private String password=“123456“; Beforepublic void setUp() throws Exception /空账号密码登陆Testpublic void loginTest1() throws Exception System.setProperty(“webdriver.firefox.bin“, “D:Program Files
7、 (x86)Mozilla Firefoxfirefox.exe“); /WebDriver dr=new FirefoxDriver(); /启动火狐浏览器dr.get(“https:/ /浏览器打开链接dr.findElement(By.id(“inputuin“).sendKeys(“); /帐号文本框输入空dr.findElement(By.id(“pp“).sendKeys(“); /密码输入空dr.findElement(By.id(“btlogin“).click(); /点击登陆按钮Thread.sleep(2000); /等待页面加载WebElement A = dr.fin
8、dElement(By.xpath(“/*id=emptyUserName“); /定位页面元素assertTrue(A.getText().contains(“请填写您的邮箱帐号。“); /断言A.click(); /点击登陆dr.quit(); /关闭浏览器/不输入密码登陆Test public void loginTest2() throws Exception System.setProperty(“webdriver.firefox.bin“, “D:Program Files (x86)Mozilla Firefoxfirefox.exe“);WebDriver dr=new Fi
9、refoxDriver();dr.get(“https:/ A = dr.findElement(By.xpath(“/*id=emptyPassword“);assertTrue(A.getText().contains(“请填写邮箱密码“);A.click();dr.quit();/错误账号密码登陆Test public void loginTest3() throws Exception System.setProperty(“webdriver.firefox.bin“, “D:Program Files (x86)Mozilla Firefoxfirefox.exe“);WebDri
10、ver dr=new FirefoxDriver();dr.get(“https:/ A = dr.findElement(By.xpath(“/*id=errorNamePassowrd“);assertTrue(A.getText().contains(“您填写的帐号或密码不正确,请再次尝试。“);A.click();dr.quit();/写邮件Test public void writeTest() throws Exception System.setProperty(“webdriver.firefox.bin“, “D:Program Files (x86)Mozilla Fire
11、foxfirefox.exe“);WebDriver dr=new FirefoxDriver();dr.get(“https:/ div.addr_text inputtype=“input“).sendKeys(““);dr.findElement(By.id(“subject“).sendKeys(“123wqe“);dr.findElement(By.xpath(“/html/body/form2/div4/div/input“).click();Thread.sleep(10000);WebElement b =dr.findElement(By.xpath(“/*id=sendin
12、fomsg“);assertTrue(b.getText().contains(“您的邮件已发送 “);dr.quit();/*-搜索邮件-* */搜索不存在的邮件Test public void searchTest() throws Exception System.setProperty(“webdriver.firefox.bin“, “D:Program Files (x86)Mozilla Firefoxfirefox.exe“);WebDriver dr=new FirefoxDriver();dr.get(“https:/ dr).getKeyboard().sendKeys(
13、Keys.RETURN); /键盘回车 Thread.sleep(1000);dr.switchTo().frame(“mainFrame“);WebElement c=dr.findElement(By.xpath(“/html/body/div3/form/div2/b“);assertTrue(c.getText().contains(“没有邮件 “);System.out.print(dr.getCurrentUrl();/打印当前页面地址dr.quit();/搜索已存在邮件Test public void searchTest2() throws Exception System.s
14、etProperty(“webdriver.firefox.bin“, “D:Program Files (x86)Mozilla Firefoxfirefox.exe“);WebDriver dr=new FirefoxDriver();dr.get(“https:/ /浏览器最大化dr.findElement(By.id(“inputuin“).sendKeys(username);dr.findElement(By.id(“pp“).sendKeys(password);dr.findElement(By.id(“btlogin“).click();Thread.sleep(2000);
15、dr.findElement(By.xpath(“/*id=subject“).sendKeys(“ert“);Thread.sleep(2000);(RemoteWebDriver) dr).getKeyboard().sendKeys(Keys.RETURN); Thread.sleep(2000);dr.switchTo().frame(“mainFrame“);WebElement c=dr.findElement(By.xpath(“/html/body/div3/form/div/div“);assertTrue(c.getText().contains(“1“);dr.quit();Afterpublic void tearDown() throws Exception