软件测试培训
美国上市软件测试培训机构

400-111-8989

热门课程

特殊处理--Selenium自动化(十)

  • 时间:2016-08-12
  • 发布:软件测试培训
  • 来源:软件测试教程

特殊处理--Selenium自动化(十)

1. iframe的处理

//传入参数为frame的序号,从0开始

driver.switchTo().frame(Int index);

//传入参数为frame的ID或者Name属性

driver.switchTo().frame(String nameOrId);

//切换回父级

driver.switchTo().defaultContent();

查找元素必须在对应的ifarme中查找,否则是找不到的。

2. 处理对话框alert\confirm\prompt

处理alert

//点击会触发alert的元素,比如按钮

driver.findElement(By.id("alert")).click();

Alert alert = driver.switchTo().alert();

String text = alert.getText(); //获取alert上的文本

System.out.println(text);

alert.dismiss(); //关闭alert

处理confirm

driver.findElement(By.id("confirm")).click();

Alert confirm = driver.switchTo().alert();

String text1 = confirm.getText();

System.out.println(text1);

confirm.accept(); //关闭confirm

//处理prompt

driver.findElement(By.id("prompt")).click();

Alert prompt = driver.switchTo().alert();

String text2 = prompt.getText();

System.out.println(text2);

prompt.sendKeys("ok!!!!");

prompt.accept();

上代码可以看出driver.switchTo().alert();这句可以得到alert\confirm\prompt对话框的对象,然后运用其方法对它进行操作。对话框操作的主要方法有:

n getText() 得到它的文本值

n accept() 相当于点击它的"确认"

n dismiss() 相当于点击"取消"或者叉掉对话框

n sendKeys() 输入值,这个alert\confirm不能用,会报错。

3. 富文本编辑器

//定位到富文本输入框所在的frame

driver.switchTo().frame("ueditor_0");

JavascriptExecutor js = (JavascriptExecutor) driver;

//通过js赋值进去

js.executeScript("document.body.innerHTML='ABCDEFG'");

上一篇:页面元素操作之三--Selenium自动化(九)
下一篇:高级应用--Selenium自动化(十一)

数据驱动之sqlite--Selenium自动化(二十一)

数据驱动之csv--Selenium自动化(二十)

数据驱动之properties--Selenium自动化(十九)

Page Object改进--Selenium自动化(十八)

选择城市和中心
贵州省

广西省

海南省

台湾