25天
1.testng入门
1.1弹框种类(alert)警示框
1.2(confirm)确认框
1.3(prompt)对话框
2.1操作 窗口切换
1、切换窗口至弹框
1. Alert alert = driver.switchTo().alert();
2.操作
1.alert警示框
//确认
alert.accept();
//获取提示文本
alert.getText();
2.confirm确认框
//确认
alert.accept();
//取消
alert.dismiss();
//获取提示文本
alert.getText();
3.prompt对话框
//确认
alert.accept();
//取消
alert.dismiss();
//往对话框中填值
alert.sendKeys("内容");
//获取提示文本
alert.getText();
代码
@Test
public void testWindowSwitch(){
driver.get("https://www.taobao.com/");
driver.findElement(By.xpath("//li[@aria-label='查看更多']/a[contains(text(),'女装')]")).click();
sleep(1);
driver.findElement(By.xpath("//li[@aria-label='查看更多']/a[contains(text(),'男装')]")).click();
sleep(1);
driver.findElement(By.xpath("//li[@aria-label='查看更多']/a[contains(text(),'内衣')]")).click();
sleep(1);
driver.findElement(By.xpath("//li[@aria-label='查看更多']/a[contains(text(),'鞋靴')]")).click();
sleep(1);
//1、获取所有窗口的句柄
Set<String> handles = driver.getWindowHandles();
//2、使用foreach循环遍历set集合中的句柄
for(String h:handles){
//3、根据句柄切换窗口
driver.switchTo().window(h);
sleep(2);
//4、根据窗口标题来判断当前是哪个窗口
if(driver.getTitle().contains("淘宝女鞋")){
//5、结束循环
break;
}
}
容器
第一种
数组
一维数组
声明格式:
变量类型[] 变量名={值1,值2,值3,值4,值5,...}
或者
变量类型[] 变量名=new 变量类型[数组长度]
使用格式:
变量名[下标];
下标从0开始,最大长度为数组长度减一
举例
//声明
//知道数组内容
String[] strings = {"11","22","333","444"};
//只知道数组长度
String[] strings1 = new String[5];
//使用 []表示取下标,下标从0开始,最大长度为数组长度减一
System.out.println(strings[0]);
//赋值
strings[0]="555";
第二种二维数组
List
声明
List <String> list = new ArrayList <String>();
List:接口
<>:泛型
String:每个子元素的类型
list:变量名
=:赋值符
new:关键字,新建
ArrayList:实现类
():构造方法
存
在列表最后添加数据
list.add("111");
在列表的某个位置添加数据
list.add(1,"444");
取
list.get(序号);
删
list.remove(1);
举例
第三种map
新建
Map <String,String> map = new HashMap <String,String>();
存(key不能重复)
map.put("姓名","刘兰兰");
取
map.get("姓名")
删
map.remove("姓名");
举例
第四种
Set 集合
新建
Set <String> set = new HashSet <>();
存
set.add("1111");
删
set.remove("1111");
只能通过foreach循环遍历
for(String s:set){
System.out.println(s);
}
举例
容器的特性
数组
长度固定
类型固定
可以通过[]取下标
list
内容固定
长度不确定
map
键值对
key不能重复
key和value的类型固定
长度不确定
set
内容确定
长度不确定
数据不能重复
只能通过foreach循环遍历