超越梦想,一起飞!!!

宁静致远,淡泊明志!

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

今天在用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();
  }
  
}


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



阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chancein007/article/details/54565282
个人分类: Selenium
上一篇如何用Maven把依赖也打到可自动执行的jar里面?
下一篇Pull Docker image的时候遇到docker pull TLS handshake timeout如何解决?
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭