模拟登陆csdn

来源:互联网 发布:百度网盘下载助手mac 编辑:程序博客网 时间:2024/05/15 08:45

今天偶然了解到了Selenium,是一个用于Web应用程序测试的工具,就像真正的用户在操作一样,支持大部分常用浏览器。我花了几个小时的时间,写了一个模拟登陆csdn的单元测试demo,原理是调用浏览器的内核api,例子仅供学习参考,有问题欢迎指正!
开发环境 eclipse jdk1.7 用到的相关jar包
selenium-server-standalone-2.25.0.jar
junit4.0.jar
chromedriver.exe

/**  * 登录账号信息 */public class User {    private String webBrowserPath;  //浏览器引擎本地路径    private String username;   //登录账号    private String password;//登录密码    private String loginUrl;//登录url    public String getWebBrowserPath() {        return webBrowserPath;    }    public void setWebBrowserPath(String webBrowserPath) {        this.webBrowserPath = webBrowserPath;    }    public String getUsername() {        return username;    }    public void setUsername(String username) {        this.username = username;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }    public String getLoginUrl() {        return loginUrl;    }    public void setLoginUrl(String loginUrl) {        this.loginUrl = loginUrl;    }    @Override    public String toString() {        return "User [webBrowserPath=" + webBrowserPath + ", username=" + username + ", password=" + password                + ", loginUrl=" + loginUrl + "]";    }}
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;/**  *模拟谷歌浏览器登录csdn */public class ChromeTest {    private String webBrowserPath = "E://test//chromedriver.exe";    private WebDriver driver ;    private String loginUrl = "https://passport.csdn.net/account/login?from=http://my.csdn.net/my/mycsdn";    private String username = "";//登录账号    private String password = "";//登录密码    private User user = new User();    //设置登录地址、账号、密码、浏览器本地引擎地址    @Before    public void init() {        user.setLoginUrl(loginUrl);        user.setPassword(password);        user.setUsername(username);        user.setWebBrowserPath(webBrowserPath);        System.setProperty("webdriver.chrome.driver",user.getWebBrowserPath());        driver = new ChromeDriver();    }    //登录成功之后推出    @After    public void quitDriver() {        if(null!=driver) {            driver.quit();        }    }    //等一秒    public void waitForSecond() {        try {            Thread.sleep(1000);        } catch (InterruptedException e)         {            e.printStackTrace();        }    }    //登录    @Test    public void login() {        try {            driver.get(user.getLoginUrl());//打开登录地址            waitForSecond();            WebElement userElement = driver.findElement(By.id("username"));//获取账号标签            userElement.sendKeys(user.getUsername());//输入账号            waitForSecond();            WebElement passElement = driver.findElement(By.id("password"));//获取密码标签            passElement.sendKeys(user.getPassword());//输入密码            waitForSecond();            WebElement login = driver.findElement(By.className("logging"));//获取登录按钮            login.click();//点击登录            waitForSecond();        } catch (Exception e) {            e.printStackTrace();        }    }}
0 0