zoukankan      html  css  js  c++  java
  • 获取FirefoxProfile配置文件以及使用方法介绍

    使用默认方式构建的(WebDriver)FirefoxDriver实例:

    WebDriver driver = new FirefoxDriver();

    这种方式下,打开的Firefox浏览器将是不带任何插件的浏览器,和初始安装一样的状态。有时在测试中需要使用到预先保留的一些信息,比如Cookie中的用户名和密码等,显然这种方式不适用了。

    这里可以采用下面的方式来构建(WebDriver)FirefoxDriver实例:

    String firefoxProfileDir = "C:\Users\XXXXX\AppData\Roaming\Mozilla\Firefox\Profiles\a6xwo0b1.default";

    FirefoxProfile profile = new FirefoxProfile(new File(firefoxProfileDir));

    WebDriver driver = new FirefoxDriver(profile);

    这里firefoxProfileDir的获取方式是:

    通过在开始菜单中的“搜索程序和文件”中输入%APPDATA%MozillaFirefoxProfiles 来获取路径

    详细可以参考

    http://www.tuicool.com/articles/NJv6Nj

    https://support.mozilla.org/zh-CN/kb/用户配置文件

    实例:

     1 package com.test.mouse;
     2 
     3 import java.io.File;
     4 import java.util.Iterator;
     5 import java.util.Set;
     6 
     7 import org.openqa.selenium.By;
     8 import org.openqa.selenium.Cookie;
     9 import org.openqa.selenium.WebDriver;
    10 import org.openqa.selenium.firefox.FirefoxDriver;
    11 import org.openqa.selenium.firefox.FirefoxProfile;
    12 
    13 public class MouseOperation {
    14 
    15     public static void main(String[] args) {
    16         
    17         //通过加载配置文件使得由WebDriver启动的firefox浏览器也能共享之前安装过的插件以及保存的密码等信息
    18         FirefoxProfile profile = new FirefoxProfile(new File("C:\Users\huangch\AppData\Roaming\Mozilla\Firefox\Profiles\a6xwo0b1.default"));        
    19         WebDriver driver = new FirefoxDriver(profile);
    20         
    21         driver.get("http://c37.yunpan.360.cn");
    22         driver.manage().window().maximize();
    23         waitTime(5000);
    24         
    25         driver.findElement(By.xpath("//*[@id='infoPanel']/a[2]")).click();
    26         
    27 //可以使用下面的方法将当前页面对应的Cookies内容打印出来
    28         Set<Cookie> setCookie = driver.manage().getCookies();
    29         Iterator iterator = setCookie.iterator();
    30         while(iterator.hasNext()){
    31             Cookie c = (Cookie) iterator.next();
    32             System.out.println(c.getDomain()+"---"+c.getName()+"---"+c.getPath()+"---"+c.getValue());
    33         }
    34 
    35 
    36     }
    37     
    38     static public void waitTime(int time) {
    39 
    40         try {
    41             Thread.sleep(time);
    42         } catch (InterruptedException e) {
    43             // TODO Auto-generated catch block
    44             e.printStackTrace();
    45         }
    46     }
    47     
    48     
    49 
    50 }
  • 相关阅读:
    React 之 jsx
    React 之 初识
    vue 之 svg
    c#进阶 之 特性
    c#进阶 之 反射Reflection
    面试题解答分析
    c#进阶 之 泛型
    c#进阶 之 修饰符
    c#进阶 之 方法汇总
    微信开发学习(二)
  • 原文地址:https://www.cnblogs.com/moonpool/p/5659128.html
Copyright © 2011-2022 走看看