其他分享
首页 > 其他分享> > day02

day02

作者:互联网

TestLogin.java

测试登录

package com.bwf.autotest.day02;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class TestLogin {
    public static void main(String[] args) {
        WebDriver driver = new FirefoxDriver(); //打开火狐
        driver.manage().window().maximize(); //窗口最大化
        //访问网址
        String url = "http://127.0.0.1:8088/index.php?m=user&c=public&a=login";
        driver.get(url);

        //定位并操作元素
        driver.findElement(By.id("username")).sendKeys("test260");
        driver.findElement(By.id("password")).sendKeys("123456");

        // 点击登录按钮
        driver.findElement(By.className("login_btn")).click();
    }
}

Tools.java

封装等待

package com.bwf.autotest.day02;

public class Tools {
    public static void sleep(long millis){
        try{
            Thread.sleep(millis);
        }catch (InterruptedException e){
            e.printStackTrace();
        }
    }
}

LoginPage.java

封装登录

package com.bwf.autotest.day02;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;

public class LoginPage {
    /**
     *
     * @param driver 登录操作所在的浏览器
     * @param username 登录要使用的用户名
     * @param password 登录要使用的密码
     * @return 输入用户名和密码登陆成功返回true 登录失败返回false
     */
    public static boolean login(WebDriver driver,String username,String password){
        String url = "http://127.0.0.1:8088/index.php?m=user&c=public&a=login";
        driver.get(url);

        //定位并操作元素
        driver.findElement(By.id("username")).sendKeys("test260");
        driver.findElement(By.id("password")).sendKeys("123456");
        //点击登录
        driver.findElement(By.className("login_btn")).click();
        //等待5s-10s根据网站响应速度 5s-10s
        Tools.sleep(5000);

        String url2 = driver.getCurrentUrl();
        System.out.println(url2);
        //网址不同url.equals(url2)结果是false 取反! !url.equals(url2)结果是true
        return !url.equals(url2);
    }
}

ChangeUserInfo.java

package com.bwf.autotest.day02;


import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class ChangeUserInfo {
    public static void main(String[] args) {
        // 打开浏览器 窗口最大化
        WebDriver driver = new FirefoxDriver();
        driver.manage().window().maximize();
        // 登录功能,调用方法实现,返回结果是true,登录成功
        boolean result = LoginPage.login(driver, "test260", "123456");
        if (result) {
            // --登录成功,执行修改个人信息
            // 点击账号设置
            driver.findElement(By.linkText("账号设置")).click();
            // 点击个人资料
            driver.findElement(By.partialLinkText("个人资料")).click();

            // 清除真实姓名
            driver.findElement(By.id("true_name")).clear();
            // 输入真实姓名
            driver.findElement(By.name("true_name")).sendKeys("张飞");
            // driver.findElement(By.name("true_name")).sendKeys(Keys.BACK_SPACE,Keys.BACK_SPACE,"张飞");

            // 点击性别女
            driver.findElements(By.name("sex")).get(2).click();

            // 删除生日输入框的只读属性 -- 写删除有name属性的只读输入框的只读属性
            ((JavascriptExecutor) driver).executeScript("document.getElementsByName('birthday')[0].removeAttribute('readonly')");
            // 删除原有的生日
            driver.findElement(By.name("birthday")).clear();
            // 输入生日
            driver.findElement(By.name("birthday")).sendKeys("2000-7-7");

            // 清空qq
            driver.findElement(By.id("qq")).clear();
            // 输入qq
            driver.findElement(By.id("qq")).sendKeys("125874514");

            // 点击确定
            driver.findElement(By.className("btn4")).click();

            // 暂停2s 等待弹窗弹出
            Tools.sleep(2000);

            try{
                // 有弹窗出现,是获取弹窗中文本;没有弹窗直接报错,直接运行catch中代码
                String text = driver.switchTo().alert().getText();
                // 点击确定按钮
                driver.switchTo().alert().accept();
                if(text.equals("个人信息修改成功!")){
                    System.out.println("修改成功");
                }else{
                    System.out.println("修改失败");
                }
            }catch(Exception e){
                // 代码在try中的代码报错时运行
                System.out.println("修改失败,有数据是错误的");
            }


        } else {
            System.out.println("登录失败,程序结束");
        }
        // 关闭浏览器
        // driver.quit();
    }
}

 

标签:name,day02,selenium,findElement,import,driver,public
来源: https://www.cnblogs.com/shuheng/p/16452670.html