day03

Dome.java

强制等待,隐式等待,显式等待

package com.bwf.autotest.day03;

import com.bwf.autotest.day02.Tools;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

import java.util.concurrent.TimeUnit;

public class Dome {
    public static void main(String[] args) {
        WebDriver driver = new FirefoxDriver();
        //隐式等待
        driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
        //显示等待
        new WebDriverWait(driver,10,100)
                .until(ExpectedConditions.presenceOfElementLocated(By.id("a")));
        System.out.println(1);

        //强制等待
        Tools.sleep(5000);
        System.out.println(2);
    }
}

BackLoginPage.java

后台登录封装

package com.bwf.autotest.day03;

import com.bwf.autotest.day02.Tools;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;

public class BackLoginPage {
    public static boolean login(WebDriver driver, String un, String pw, String code){
        String url = "http://127.0.0.1:8088/index.php?&m=admin&c=public&a=login";
        driver.get(url);
        driver.findElement(By.name("username")).sendKeys(un);
        driver.findElement(By.name("userpass")).sendKeys(pw);
        driver.findElement(By.name("userverify")).sendKeys(code);
        driver.findElement(By.className("Btn")).click();
        Tools.sleep(5000);
        String title = driver.getTitle();
        return title.equals("后台管理中心");
    }
}

AddGoods.java

后台添加商品

package com.bwf.autotest.day03;

import com.bwf.autotest.day02.Tools;
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;

import javax.tools.Tool;
import java.security.Key;

public class AddGoods {
    public static void main(String[] args) {
        WebDriver driver = new FirefoxDriver();
        driver.manage().window().maximize();
        boolean result = BackLoginPage.login(driver,"admin","password","1234");
        if(result){
            driver.findElement(By.linkText("商品管理")).click();
            driver.findElement(By.linkText("添加商品")).click();
            Tools.sleep(5000);

            // 切入frame
            driver.switchTo().frame("mainFrame");
            driver.findElement(By.name("name")).sendKeys("梨");

            //创建Actions类的对象
            Actions actions = new Actions(driver);
            //点击模拟
            actions.click(driver.findElement(By.linkText("手机、数码、通讯"))).perform();
            //模拟双击
            actions.doubleClick(driver.findElement(By.linkText("摄影摄像"))).perform();
            //模拟按键
            actions.sendKeys(Keys.PAGE_DOWN).perform();
            actions.sendKeys(Keys.PAGE_DOWN).perform();
            //其他操作

            //切出
            driver.switchTo().defaultContent();

            System.out.println("结束");
        }
    }
}

AddAddress.java

前台添加购物地址

package com.bwf.autotest.day03;

import com.bwf.autotest.day02.LoginPage;
import com.bwf.autotest.day02.Tools;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;

import javax.tools.Tool;

public class AddAddress {
    public static void main(String[] args) {
        //打开浏览器
        WebDriver driver = new FirefoxDriver();
        driver.manage().window().maximize();
        //前台登录
        boolean result = LoginPage.login(driver,"test260","123456");
        if (result){
            //添加地址
            driver.get("http://127.0.0.1:8088/index.php?m=user&c=address&a=address");
            driver.findElement(By.id("username")).sendKeys("赵六");
            //操作第一个下拉框
            Select s1=new Select(driver.findElement(By.id("province")));
            s1.selectByVisibleText("上海市");
            Tools.sleep(2000);
            //操作第二个下拉框
            Select s2 = new Select(driver.findElement(By.id("city")));
            s2.selectByVisibleText("上海市");
            Tools.sleep(2000);
            //操作第三个下拉框
            Select s3 = new Select(driver.findElement(By.id("district")));
            s3.selectByValue("310101");
            driver.findElement(By.id("address")).sendKeys("xx街xxx号");
            driver.findElement(By.id("zip")).sendKeys("085574");
            driver.findElement(By.id("mobile")).sendKeys("18655997744");
            //点击添加地址
            driver.findElement(By.className("btn3")).click();
            //强制等待
            Tools.sleep(2000);
            String text = driver.switchTo().alert().getText();
            driver.switchTo().alert().accept();
            System.out.println(text);
        }else{
            System.out.println("登录失败");
        }
    }
}

Shopping.java

购物

package com.bwf.autotest.day03;

import com.bwf.autotest.day02.Tools;
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

import java.util.concurrent.TimeUnit;

public class Shopping {
    public static void main(String[] args) {
        // 打开浏览器
        WebDriver driver = new FirefoxDriver();
        driver.manage().window().maximize();
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        //访问首页
        driver.get("http://127.0.0.1:8088/");
        //点击登录连接
        driver.findElement(By.linkText("登录")).click();
        //切换窗口
        driver.close();
        //使用循环获取仅剩的窗口的值
        for (String handle:driver.getWindowHandles()){
            //切换窗口
            driver.switchTo().window(handle);
        }
        Tools.sleep(5000);
        //输入用户名和密码完成登录
        driver.findElement(By.name("username")).sendKeys("test260");
        driver.findElement(By.name("password")).sendKeys("123456");
        driver.findElement(By.className("login_btn")).click();

        driver.findElement(By.linkText("返回商城首页")).click();
        //点击商城图片
        driver.findElement(By.xpath("/html/body/div[5]/div/div[2]/div/a/img")).click();

        //关闭旧窗口,只保留新的
        driver.close();
        //使用循环获取仅剩的窗口的值
        for (String handle:driver.getWindowHandles()){
            //切换窗口
            driver.switchTo().window(handle);
        }
        driver.findElement(By.name("cart_num")).sendKeys(Keys.BACK_SPACE);
        driver.findElement(By.name("cart_num")).sendKeys("5");
        //加购物车 结算
        driver.findElement(By.id("joinCarButton")).click();
        driver.findElement(By.className("shopCar_T_span3")).click();
        driver.findElement(By.className("shopCar_btn_03")).click();

        //卡死就强制等待1-2秒
        //选择顺风
        driver.findElement(By.id("delivery_id_1")).click();
        //卡死旧强制等待1-2s
        //货到付款
        driver.findElement(By.cssSelector("input[name='pay_type'][value='1']")).click();

        driver.findElement(By.className("agree-order-fr-btn")).click();

    }
}

 

posted @ 2022-07-08 20:30  寒无衣  阅读(33)  评论(0)    收藏  举报