博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
selenium测试(Java)--多表单切换(十二)
阅读量:5923 次
发布时间:2019-06-19

本文共 3717 字,大约阅读时间需要 12 分钟。

采用下面的例子来编写用例

frame switch

frame

代码:

package com.test.frame;import org.openqa.selenium.By;import org.openqa.selenium.JavascriptExecutor;import org.openqa.selenium.NoSuchElementException;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;import org.openqa.selenium.support.ui.ExpectedConditions;public class frameSwitch {    public static void main(String[] args) {        WebDriver driver = new FirefoxDriver();        driver.get("file:///D:/10-selenium/workspace/SeleniumTest/src/com/test/frame/frame.html");        driver.manage().window().maximize();        // 利用id来切换        waitTime(2000);        driver.switchTo().frame("if");        waitTime(2000);        if (driver.findElement(By.xpath("//*[@id='kw']")).isDisplayed()) {            driver.findElement(By.xpath("//*[@id='kw']")).sendKeys("switch successfully");            // 切换到父frame            driver.switchTo().parentFrame();            try {                driver.findElement(By.xpath("//*[@id='kw']"));            } catch (NoSuchElementException e) {                String js = "alert(\"switch to parent\")";                ((JavascriptExecutor) driver).executeScript(js);                waitTime(3000);                driver.switchTo().alert().dismiss();            }        }        // 利用name来切换        waitTime(2000);        driver.switchTo().frame("nf");        waitTime(2000);        if (driver.findElement(By.xpath("//*[@id='kw']")).isDisplayed()) {            driver.findElement(By.xpath("//*[@id='kw']")).sendKeys("switch successfully");            driver.switchTo().parentFrame();            try {                driver.findElement(By.xpath("//*[@id='kw']"));            } catch (NoSuchElementException e) {                String js = "alert(\"switch to parent\")";                ((JavascriptExecutor) driver).executeScript(js);                waitTime(3000);                driver.switchTo().alert().dismiss();            }        }        // 利用定位元素来切换-xpath        waitTime(2000);        driver.switchTo().frame(driver.findElement(By.xpath("//iframe[@id='if']")));        waitTime(2000);        if (driver.findElement(By.xpath("//*[@id='kw']")).isDisplayed()) {            driver.findElement(By.xpath("//*[@id='kw']")).sendKeys("switch successfully");            driver.switchTo().parentFrame();            try {                driver.findElement(By.xpath("//*[@id='kw']"));            } catch (NoSuchElementException e) {                String js = "alert(\"switch to parent\")";                ((JavascriptExecutor) driver).executeScript(js);                waitTime(3000);                driver.switchTo().alert().dismiss();            }        }        // 利用定位元素来切换-css        waitTime(2000);        driver.switchTo().frame(driver.findElement(By.cssSelector("#if")));        waitTime(2000);        if (driver.findElement(By.xpath("//*[@id='kw']")).isDisplayed()) {            driver.findElement(By.xpath("//*[@id='kw']")).sendKeys("switch successfully");            driver.switchTo().parentFrame();            try {                driver.findElement(By.xpath("//*[@id='kw']"));            } catch (NoSuchElementException e) {                String js = "alert(\"switch to parent\")";                ((JavascriptExecutor) driver).executeScript(js);                waitTime(3000);                driver.switchTo().alert().dismiss();                driver.quit();            }        }    }    static public void waitTime(int time) {        try {            Thread.sleep(time);        } catch (InterruptedException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }}

 

转载地址:http://wuavx.baihongyu.com/

你可能感兴趣的文章
Asp.Net编码
查看>>
struts请求参数注入的三种方式
查看>>
jstl表达式
查看>>
两个不等式(Nopier)
查看>>
ceRNA 调控机制
查看>>
C 枚举 相同的值
查看>>
CRONTAB调用备份脚本时要注意环境变量的设置
查看>>
基于ArcGIS10.0和Oracle10g的空间数据管理平台(C#开发)-系统需求分析
查看>>
C++如何实现哈希数据结构——map Library
查看>>
分享8个超棒的基于HTML5和jQuery的开发教程
查看>>
粗化—lhMorpThick
查看>>
Hadoop Streaming框架使用(一)
查看>>
无根的根:无名师的 Unix 心传
查看>>
如何隐藏vs2005的起始页
查看>>
关于自动化测试
查看>>
让 VS 编译 MonoTouch 项目源文件不再出错
查看>>
asp.net里获取当前时间,并字符串格式化转换(转)
查看>>
jQuery-插件-背景滑动菜单(第二次自已偿试写插件)
查看>>
JFreeChart开发_用JFreeChart增强JSP报表的用户体验
查看>>
Android 打包签名 从生成keystore到完成签名
查看>>