小练习--下拉框
创建packa包 autotest03,创建class类AddAddress.java
在自动化测试02里面,我们学习了用xpath来定位下拉框的元素,现在我们用新的方法来定位。用select类来定位
我们可以创建Select类的对象,需要提前定位到下拉框,然后使用对象操作一个下拉框
第一项的id是province,那么我们可以编写代码,定义变量
//下拉框操作
//创建Select类的对象
Select s1 = new Select(driver.findElement(By.id("province")));
然后调用方法
s1.selectByVisibleText("北京市");//option的文本内容
我们可以看到这里面有三个方法,分别是值、索引、文本
在选择的时候,前端代码会进行刷新,所以需要强制等待时间
Thread.sleep(2000);
第一项我们已经完成了,剩下的两项就好办了
所以代码如下
//下拉框操作
//创建Select类的对象
Select s1 = new Select(driver.findElement(By.id("province")));
s1.selectByVisibleText("北京市");//option的文本内容
Thread.sleep(2000);
Select s2 = new Select(driver.findElement(By.id("city")));
s2.selectByIndex(1);//这个下拉框中第二个option 索引从零开始 0,1,2,3,4
Thread.sleep(2000);
Select s3 = new Select(driver.findElement(By.id("district")));
s3.selectByValue("110101");//option元素的value属性值定位
代码整合
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;
public class AddAddress {
public static void main(String[] args) throws InterruptedException {
WebDriver driver = new FirefoxDriver();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
LoginPage.loginWithUrl(driver, "test123", "123456");
driver.findElement(By.linkText("账号设置")).click();
driver.findElement(By.linkText("修改默认收货地址")).click();
driver.findElement(By.name("username")).sendKeys("1");
//下拉框操作
//创建Select类的对象
Select s1 = new Select(driver.findElement(By.id("province")));
s1.selectByVisibleText("北京市");//option的文本内容
Thread.sleep(2000);
Select s2 = new Select(driver.findElement(By.id("city")));
s2.selectByIndex(1);//这个下拉框中第二个option 索引从零开始 0,1,2,3,4
Thread.sleep(2000);
Select s3 = new Select(driver.findElement(By.id("district")));
s3.selectByValue("110101");//option元素的value属性值定位