zoukankan      html  css  js  c++  java
  • WedDriver重构

     

    配置好selenium java环境,当启动chrome作selenium测试时,如果没有设置driver,则会出错,查看错误信息The path to the driver executable must be set by the webdriver.chrome.driver system property; 原来是没有预先设置chrome的地址故设置之,注意chromedriver.exe是google提供的驱动器需要另外下载并放在chrome安装目录下。同时设置chromedriver的地址(在.java源文件中显示设置chromedriver):

    //设置chromedriver地址

    System.setProperty ("webdriver.chrome.driver", "C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe");

    WebDriver重构:

       public static WebDriver getWebDriver(){

          System.setProperty("webdriver.chrome.driver", " D:\Program Files\Google\Chrome\Application\chromedriver.exe ");

          WebDriver driver= new ChromeDriver();

          driver.manage().window().maximize(); //窗口最大化

          return driver;

       }

    如果需要在多个窗口直接切换,首先获取每个窗口的唯一标示符(句柄),通过窗口属性可以获取所有打开窗口的标示符,以集合的形式返回;以下示例(假设一共两个窗口):

         Set winHandels= driver.getWindowHandles();//得到当前所有窗口句柄set集合 

          List it = new ArrayList(winHandels);//将set集合存入list集合

          driver.switchTo().window(it.get(1));//切换到新弹出的窗口

         String url=driver.getCurrentUrl(); //获取新窗口的url

         System.out.println(url);

         driver.switchTo().window(it.get(0)); // 返回至原页面

    (Set, List给泛型String,代码里写了就被过滤)

    getWindowHandle() 获得当前窗口句柄

    getWindowHandles() 返回的所有窗口的句柄到当前会话

    switchTo().window() 用于切换到相应的窗口,与switchTo().frame()是类似,前者 用于不同窗口的切换,后者用于不同表单之间的切换。

    driver new出来后,如果未通过driver.switchTo().window()切换,则当前窗口永远是第一个窗口。

  • 相关阅读:
    流程图的标准画法
    java应用,直接请求没问题,通过nginx跳转状态吗400
    jenkins启动java项目的jar包总是退出
    可以通过下面的脚本直观的看一下当前系统中所有进程的得分情况:
    sonarqube安装的坑
    Windows共享设定-使用net use添加网络盘带上账号密码
    Synctoy2.1使用定时任务0X1
    如果报错,使用 journalctl -f -t etcd 和 journalctl -u etcd 来定位问题。
    NodePort 只能在node节点上访问,外部无法访问
    mysql5.7 yum安装
  • 原文地址:https://www.cnblogs.com/vanya/p/6742825.html
Copyright © 2011-2022 走看看