51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2908|回复: 4
打印 上一主题 下一主题

selenium测试126邮箱登陆和新建联系人(java)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2016-9-14 16:32:15 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
发到自己博客直接被扔进垃圾箱,这网站的博客是没法玩了,那就发帖也要玩!!

看的书里面有个测试126邮箱新增联系人的功能,用书中的代码已经完全无法定位了,所以就自己去写了代码测试了一下,搞了一下午才搞出来。
登陆的时候他的登陆信息都是放在一个iframe里面的,必须切换到这个frame才能进行操作;
新增联系人页面的定位还是有点困难。

package dhb.appModules;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.Assert;
import org.testng.annotations.Test;
public class NewTest {
  @Test
  public void f() {
   WebDriver driver=new InternetExplorerDriver();
   driver.get("http://mail.126.com/");
   WebElement ifr=driver.findElement(By.tagName("iframe"));
   driver.switchTo().frame(ifr);
   WebElement name=driver.findElement(By.xpath("//input[@name='email']"));
   name.clear();
   name.sendKeys("dhbautotest");
   WebElement pswd=driver.findElement(By.name("password"));
   pswd.clear();
   pswd.sendKeys("duanhong");
   System.out.println(driver.getWindowHandle().toString());
   
  WebElement button=driver.findElement(By.id("dologin"));
  button.click();

  driver.switchTo().defaultContent();
  System.out.println(driver.getTitle());
  WebDriverWait wait=new WebDriverWait(driver, 30);
  wait.until(ExpectedConditions.textToBePresentInElement(By.id("spnUid"), "dhbautotest@126.com"));
   
System.out.println(driver.getTitle());
Assert.assertTrue(driver.getPageSource().contains("未读邮件"));
driver.findElement(By.xpath("//div[@id='dvMultiTab']/ul/li[2]/div[3]")).click();
WebElement pp=driver.findElement(By.xpath("//div[@id='dvContainer']/div/header/div/div[1]/div/span[2]"));
System.out.println(pp.getAttribute("class"));
pp.click();
try {
  Thread.sleep(2000);
} catch (InterruptedException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
}
WebElement username=driver.findElement(By.xpath("//div[@id='contact_edit_main_normal']/dl[1]/dd/div/input"));
WebElement email=driver.findElement(By.xpath("//div[@id='iaddress_MAIL_wrap']/dl/dd/div/input"));
WebElement telno=driver.findElement(By.xpath("//div[@id='iaddress_TEL_wrap']/dl/dd/div/input"));
WebElement beizhu=driver.findElement(By.xpath("//div[@id='contact_edit_main_normal']/dl[3]/dd/div/textarea"));
WebElement submit=driver.findElement(By.xpath("//div[starts-with(@id,'_mail_msgbox_')]/div[3]/div[2]/div[1]/span"));
username.sendKeys("棉花糖");
email.sendKeys("棉花糖@qq.com");
telno.sendKeys("13555555555");
beizhu.sendKeys("这是牛逼人物");
submit.click();
  }
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2016-9-14 17:20:10 | 只看该作者
SunnyLan 发表于 2016-9-14 17:14
可以用switchto()方法试下   public static void testIframe(WebDriver driver)
  {
 & ...

对  正是用的你这种方法,我才测试通过的,目前我贴出来的代码是能够登陆成功并且新增联系人的了。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2016-9-14 17:18:02 | 只看该作者
SunnyLan 发表于 2016-9-14 17:10
楼主看的是不是selenium2+java 虫师 126邮箱项目实战那本书?

不是 我看的是吴晓华的 selenium webdriver 实战宝典
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2019-11-4 11:04
  • 签到天数: 274 天

    连续签到: 1 天

    [LV.8]测试军长

    3#
    发表于 2016-9-14 17:14:01 | 只看该作者

    可以用switchto()方法试下   public static void testIframe(WebDriver driver)
      {
        driver.get("E:\\StashFolder\\huoli_28@hotmail.com\\Stash\\Tank-MoneyProject\\浦东软件园培训中心\\我的教材\\Selenium Webdriver\\frame\\main.html"); 
         
        // 在 主窗口的时候
        driver.findElement(By.id("maininput")).sendKeys("main input");
        // 此时 没有进入到iframe, 以下语句会报错
        //driver.findElement(By.id("iframeinput")).sendKeys("iframe input");
             
        driver.switchTo().frame("frameA");
        driver.findElement(By.id("iframeinput")).sendKeys("iframe input");
         
        // 此时没有在主窗口,下面语句会报错
        //driver.findElement(By.id("maininput")).sendKeys("main input");
         
        // 回到主窗口
        driver.switchTo().defaultContent();
        driver.findElement(By.id("maininput")).sendKeys("main input");
      }
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-11-4 11:04
  • 签到天数: 274 天

    连续签到: 1 天

    [LV.8]测试军长

    2#
    发表于 2016-9-14 17:10:24 | 只看该作者
    楼主看的是不是selenium2+java 虫师 126邮箱项目实战那本书?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-9 00:54 , Processed in 0.060519 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表