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(); } }
浙公网安备 33010602011771号