wordpress登录,新增、修改、删除、查看,页面代码如下
package info.itest.www;
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.SearchContext;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Action;
import org.openqa.selenium.interactions.Actions;
public class RunAll {
WebDriver dr;
@Before
public void setUp() throws Exception {
System.out.println("Start test");
// 使用firefox浏览器,打开指定路径的firefox浏览器
System.setProperty("webdriver.firefox.bin",
"D:/Mozilla Firefox/firefox.exe");
this.dr = new FirefoxDriver();
//使用chrome浏览器
//this.dr = new ChromeDriver();
}
@After
public void tearDown() throws Exception {
System.out.println("End test");
this.dr.quit();
}
@Test
public void testLogin() {
System.out.println("login test");
String username = "admin";
String password = "123456";
//定义登录url
this.Login(username, password);
//断言登录用户
assertTrue(dr.getCurrentUrl().contains(username));
//断言用户是否登录成功
WebElement adminLink = dr.findElement(By.id("wp-admin-bar-my-account")).findElement(By.className("ab-item"));
assertTrue(adminLink.getText().contains(username));
}
@Test
public void testCreatePost(){
System.out.println("create test");
String username = "admin";
String passwd = "123456";
//登录
this.Login(username, passwd);
String title = "Test title" + System.currentTimeMillis();
this.createPost(title);
dr.get("http://localhost/wordpress/");
WebElement first_post = dr.findElement(By.cssSelector(".entry-title a"));
System.out.println(first_post);
assertEquals(title,first_post.getText());
}
@Test(expected=NoSuchElementException.class)
public void testDeletePost(){
System.out.println("delete test");
String username = "admin";
String passwd = "123456";
//登录
this.Login(username, passwd);
//创建文章
String postId = this.createPost();
this.dr.get("http://localhost/wordpress/wp-admin/edit.php");
//计算文章id
String rowId = "post-"+postId;
WebElement row = this.dr.findElement(By.id(rowId));
//执行删除
Actions action = new Actions(this.dr);
action.moveToElement(row).perform();
row.findElement(By.cssSelector(".trash a")).click();
//assertFalse(this.isPostRowExists(rowId));
this.dr.findElement(By.id(rowId));
}
@Test
public void TestView(){
System.out.println("view test");
String username = "admin";
String password = "123456";
this.Login(username, password);
//创建文章
String title = "Test title" + System.currentTimeMillis();
String postId = this.createPost(title);
//String postId = this.createPost();
this.dr.get("http://localhost/wordpress/wp-admin/edit.php");
// 计算文章id
String rowId = "post-" + postId;
WebElement row = this.dr.findElement(By.id(rowId));
// 执行查询
Actions action = new Actions(this.dr);
action.moveToElement(row).perform();
row.findElement(By.cssSelector(".view a")).click();
//断言
//dr.get("http://localhost/wordpress/?p="+postId);
System.out.println(dr.findElement(By.cssSelector(".entry-title")));
WebElement first_post = dr.findElement(By.cssSelector(".entry-title"));
assertEquals(title,first_post.getText());
}
@Test
public void TestRevisePost(){
System.out.println("revise test");
String username = "admin";
String passwd = "123456";
//登录
this.Login(username, passwd);
//创建
String postId = this.createPost();
dr.get("http://localhost/wordpress/wp-admin/edit.php");
//获取id
String rowId = "post-"+postId;
WebElement row = this.dr.findElement(By.id(rowId));
//执行修改
Actions action = new Actions(this.dr);
action.moveToElement(row).perform();
row.findElement(By.cssSelector(".edit a")).click();
//dr.get("http://localhost/wordpress/wp-admin/post.php?post="+postId+"&action=edit");
dr.findElement(By.name("post_title")).clear();
this.setContent(null);
String title = "Test title" + System.currentTimeMillis();
String content = "Test title" + System.currentTimeMillis();
dr.findElement(By.name("post_title")).sendKeys(title);
this.setContent(content);
dr.findElement(By.id("publish")).click();
//this.createPost(title);
dr.get("http://localhost/wordpress/");
WebElement first_post = dr.findElement(By.cssSelector(".entry-title a"));
System.out.println(first_post);
assertEquals(title,first_post.getText());
}
public void Login(String username,String password){
this.dr.get("http://localhost/wordpress/wp-login.php");
//输入用户名和密码,点击登录
dr.findElement(By.id("user_login")).sendKeys(username);
dr.findElement(By.id("user_pass")).sendKeys(password);
dr.findElement(By.id("wp-submit")).click();
}
public void setContent(String content) {
String js = "document.getElementById('content_ifr').contentWindow.document.body.innerHTML='"
+ content + "'";
((JavascriptExecutor) dr).executeScript(js);
}
public String createPost(String title,String content){
this.dr.get("http://localhost/wordpress/wp-admin/post-new.php");
//String title = "Test title" + System.currentTimeMillis();
//this.dr.findElement(By.name("post_title")).clear();
this.dr.findElement(By.name("post_title")).sendKeys(title);
this.setContent(content);
dr.findElement(By.name("publish")).click();
return this.fetchPostId();
}
public String fetchPostId(){
String postUrl = this.dr.findElement(By.id("sample-permalink")).getText();
String[] arr = postUrl.split("=");
return arr[1];
}
public String createPost(){
String title = "Test title" + System.currentTimeMillis();
String content = "Test Content" + System.currentTimeMillis();
return this.createPost(title,content);
}
public String createPost(String title){
String content = "test Content" + System.currentTimeMillis();
return this.createPost(title,content);
}
/*public boolean isPostRowExists(String rowId){
try{
this.dr.findElement(By.cssSelector(rowId));
return true;
}catch(NoSuchElementException e){
return false;
}
}*/
}
查看文章思路
修改文章代码有点重复,暂时未重构 (责任编辑:好模板) |




Magento咖啡蛋糕主题模板
人气:137
ecshop书店商城模板
人气:647
ecshop成人用品大气模板
人气:1087
丽人坊化妆品ecshop模板
人气:539
ecshop秒杀插件
人气:4582
高档品网站模板仿LV商城
人气:928