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()切换,则当前窗口永远是第一个窗口。

  • 相关阅读:
    c++ socket发送数据时,sendData = char * string 导致的乱码问题
    c++ sprintf() 用法
    c++ 将float 类型转换成string 类型
    c++中 string类型 转为 char []类型
    c++ 去掉所有空格及换行符
    c++处理字符串string.find()与string::npos
    C1010 unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source
    C++ socket bind() 函数绑定错误
    windows 全局安装 composer
    VMware Tools (ubuntu系统)安装详细过程与使用
  • 原文地址:https://www.cnblogs.com/vanya/p/6742825.html
Copyright © 2011-2022 走看看