• atitit.浏览器web gui操作类库 和 操作chrome浏览器的类库使用总结


    atitit.浏览器web gui操作类库 和 操作chrome浏览器的类库使用总结

    1. 常见标准 1

    1.1. 录制重放 1

    1.2. 一个窗体一个proxy cookie 1

    1.3. exec js 1

    1.4. js 调用java 1

    1.5. 修改dom属性 2

    1.6. 关键字驱动 2

    1.7. 加载js类库 2

    1.8. 一个窗口一个代理 2

    1.9. 独立窗口cookie 2

    1.10. 无图模式支持 2

    1.11. 支持自定义路径 2

    2. 框架选型selenium2(webdriver)  QTP 2

    3. 操作chrome浏览器 3

    3.1. chromedriver 3

    3.2. 自定义路径 3

    3.3. 独立窗口代理器 3

    3.4. 无图模式 3

    3.5. code 3

    1. 常见标准

    1.1. 录制重放

    这个功能好.不熟悉的时候儿直接能使用...相像help chm雅十..

    1.2. 一个窗体一个proxy cookie

    webdriveff可以。。swt browsernative swing的都是ie默认,改ff可麻烦了。。

    1.3. exec js

    作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

    转载请注明来源: http://blog.csdn.net/attilax

    1.4. js 调用java

    一般是浏览器扩展,,js调用。。如果不支持,只能使用cookie的方式了。。

    1.5.  修改dom属性

    通过js或者 后台的dom操作。ie com 可通过后台domwebdriveswt browser是通过js

    1.6. 关键字驱动

    ,测试人员不需要录制测试脚本,而可以改成设计测试脚本。即:先将应用程序的GUI 对象添加到QTP的对象仓库(Object Repository)中,然后针对每一个需要操作到的对象设计每个测试步骤。我个人感觉,这的确是一个很酷的特性,它使我们可以不必实际去操作应用程 序,就可以编写出测试脚本,这样做既节省了时间,而且还有一个更大的好处就是可以在应用程序还没有设计完成,或者由于出错无法正常执行的时候仍然可以编写 我们的测试脚本。应用程序只需要有使用界面(UI),而不必实际运行,测试人员就可以开始建立测试脚本,为我们实施自动化测试赢得更充足的时间。而

    1.7. 加载js类库

    原理一般是创建一个script 标签....添加js

    1.8. 一个窗口一个代理

    1.9. 独立窗口cookie

    1.10. 无图模式支持

    1.11. 支持自定义路径

    2. 框架选型selenium2(webdriver)  QTP

    3. 操作chrome浏览器

    3.1. chromedriver

    // 在java程序中添加

    System.setProperty("webdriver.chrome.driver", pathx.classPathParent()+ "\chromedriver.exe");

    selenium不能直接操作chrome,要通过这个驱动...

    3.2. 自定义路径

    ChromeOptions co = new ChromeOptions();

    co.setBinary(path);

    }

    return new ChromeDriver(co);

     

    3.3. 独立窗口代理器

    默认gui界面是同ie的设置一样,多个窗口一个proxy。。不过命令行可以。-proxy-server 参数

       co.addArguments(-proxy-server=hostport);

     

    3.4. 无图模式

    命令行参数 --disable-images不过好像不去作用。。只能gui界面禁止。。这样所有的chrome窗口就生效了。

     

     

    3.5. code

    private static WebDriver getChromeDriver(FirefoxProfile profile) {

    // 在java程序中添加

    System.setProperty("webdriver.chrome.driver", pathx.classPathParent()+ "\chromedriver.exe");

    ChromeOptions co = new ChromeOptions();

    String max = "--start-maximized";

    String proxyParem = "";

    try {

    if (browserParams.get().get("network.proxy.http") != null) {

    String proxy = browserParams.get().get("network.proxy.http")

    ":"

    browserParams.get().get("network.proxy.http_port");

    proxyParem = "-proxy-server=" + proxy;

    }

    catch (Exception e) {

    e.printStackTrace();

    }

    String noimg = "";

    if (browserParams.get().get("permissions.default.image") != null

    && browserParams.get().get("permissions.default.image")

    .equals("2"))

    noimg = "--disable-images";

    //--disable-image-transport-surface

    // haox bsin .only gui setting/privert//img

    co.addArguments(proxyParem);

    String path = pathx.classPathParent()

    "\Chrome\Application\chrome.exe";

    if (new File(path).exists()) {

    System.out.println(path);

    co.setBinary(path);

    }

    return new ChromeDriver(co);

    }

  • 相关阅读:
    codevs 3657 括号序列
    洛谷P1962 斐波那契数列
    Black Rock shooter
    codevs 2596 售货员的难题
    51Nod-1154 回文串划分
    UVA
    POJ3321[苹果树] 树状数组/线段树 + dfs序
    Hdu 4578 Transformation (线段树 分类分析)
    786B
    438D
  • 原文地址:https://www.cnblogs.com/attilax/p/5963693.html
Copyright © 2020-2023  润新知