[置顶] [4]Selenium学习系列----登录CSDN并为第一篇置顶文章加上评论!!!

标签: SeleniumCSDN登录JUnit
413人阅读 评论(0) 收藏 举报
分类:

今天在用Selenium WebDriver做一个代码卡塔练习,学以致用,于是就想到了登陆CSDN博客,并挑选其中第一篇置顶的文章,然后为其加上评论。下面是我自己写的测试代码。

需要注意的,笔者这次用的是Chrome的浏览器,并把驱动放在了c:\drivers 目录下。注意,CSDN的用户名和密码,请换成各位读者自己的。如果没有的话,请各位读者自己注册一个测试账号!!!

如果想看到效果的话,第一次的时候,请把单元测试中的tearDown()方法先注释掉,等跑通过后,在加上。


package com.winneryum.csdn;

import java.util.concurrent.TimeUnit;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class LoginWebPageTest {
  private WebDriver driver;
  private String baseUrl;
  @Before
  public void setup(){
    System.setProperty("webdriver.gecko.driver","C:/drivers/geckodriver.exe");
    System.setProperty("webdriver.chrome.driver", "C:/drivers/chromedriver.exe");
  }
  @Test
  public void loginCSDN(){
    driver = new ChromeDriver();
    baseUrl = "http://blog.csdn.net/chancein007";
    driver.get(baseUrl + "/");
    driver.manage().timeouts().pageLoadTimeout(60, TimeUnit.SECONDS);
    driver.findElement(By.className("loginlink"));
    driver.findElement(By.partialLinkText("登录")).click();
    driver.findElement(By.id("username")).clear();
    driver.findElement(By.id("username")).sendKeys("yourcsdnaccount");
    driver.findElement(By.id("password")).clear();
    driver.findElement(By.id("password")).sendKeys("yourpassword");
    driver.findElement(By.id("rememberMe")).click();
    driver.findElement(By.className("logging")).click();
    System.out.println("The current URL:"+driver.getCurrentUrl());
    if(baseUrl.equalsIgnoreCase(driver.getCurrentUrl().substring(0,driver.getCurrentUrl().length()-1))){
      System.out.println("Login Successfully!!!!");
    }else{
      System.out.println("Login Failed!!!!");
    }
    WebElement firstPage= driver.findElements(By.xpath("//div[@class='list_item article_item']/div[@class='article_title']/h1/span/a")).get(0);
    firstPage.click();
    System.out.println("The current URL:"+driver.getCurrentUrl());
    driver.findElement(By.id("comment_content")).clear();
    driver.findElement(By.id("comment_content")).sendKeys("不错的文章,强烈推荐一下,作为入门!!!!");
    driver.findElement(By.className("comment_btn")).click();
    System.out.println("Added the comment successfully!!!!");
    
  }
  
  @After
  public void tearDown(){
   driver.close();
   driver.quit();
  }
  
}


运行成功后,可以看到下面的截图。



1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:385976次
    • 积分:6349
    • 等级:
    • 排名:第4081名
    • 原创:228篇
    • 转载:0篇
    • 译文:5篇
    • 评论:157条
    博客专栏