模拟登陆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
- 模拟csdn登陆窗口
- 模拟登陆CSDN
- httpclient模拟登陆CSDN
- 模拟登陆csdn
- Python模拟登陆CSDN
- python 模拟登陆csdn
- 使用requests模拟登陆csdn
- 利用requests 模拟登陆csdn
- python 之模拟登陆csdn
- 用python模拟登陆到CSDN博客
- python爬虫之模拟登陆csdn
- HttpClient 4.5.3 模拟登陆CSDN
- 模拟登陆CSDN——就是这么简单
- 模拟登陆CSDN——就是这么简单
- 模拟登陆CSDN——就是这么简单
- python模拟登陆知乎和CSDN【urllib,re,requests】
- pyhon3.4 requests模块模拟post登陆csdn
- python模拟登陆csdn及其注意事项,附带源码
- Android子线程更新UI就会Crash么
- 系统字体切换
- 有关opencv的学习(21)—图像滤波(2)
- JNI开发基础(一)
- 如何成为一名优秀的程序员
- 模拟登陆csdn
- Tomcat和IIS整合过程—上—IIS安装
- 算法提高 求最大值 C语言
- 编写USB 驱动程序
- java工具类-------get请求和post请求
- Android模拟器和PC之间数据传送
- 混合APP开发的套路(三): android和javascript初步交互
- 32bit与64bit程序移植
- sql2008“备份集中的数据库备份与现有的xx数据库不同”解决方法