• wordpress登录、修改、删除、查看代码记录


    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;
            }
        }*/
        
            
        }
    
        

    查看文章思路

     

     修改文章代码有点重复,暂时未重构

  • 相关阅读:
    tcp单线程实现并发
    文件处理
    异常处理、深浅拷贝、基本的文件操作
    列表、元组、字典、集合类型的内置方法
    python进阶之数字类型内置方法和字符串类型内置方法
    九九乘法表和金字塔
    python基础总结
    0801学习整理
    0731学习内容整理
    0730学习内容整理
  • 原文地址:https://www.cnblogs.com/LOVEYU/p/6113489.html
Copyright © 2020-2023  润新知