zoukankan      html  css  js  c++  java
  • selenium server在页面加载超时浏览器与driver通信失败时的妙用

    事实上,WebDriver有两种方式“驱动”浏览器的方式。
    1. Selenium Server:和Selenium RC一样的,通过指定远端服务器IP地址和端口号,由这个远端服务器来驱动浏览器。
    2. 直接调用:无须指定任何服务器IP地址和端口号。直接使用本地的浏览器(只要安装相应的浏览器,如IE、Firefox、Chrome)

    那如何决定使用哪一种方式呢?很简单的,如果你只需要在本机运行自动化的case,就没必要使用Selenium Server。

    在如下的情况下,你可能需要使用Selenium Server:
    1. 本地没有你想要运行的浏览器,如代码是在Linux平台运行的,而你希望测试的浏览器是Windows平台的IE
    2. 使用Selenium Grid来部署多个浏览器,并发的运行case,降低case运行时间。

    两者之间客户端代码在调用上的区别(以Java为例)

    不使用Selenium Server:

    WebDriver driver = new FirefoxDriver();

    使用Selenium Server:

    DesiredCapabilities capabilities = new DesiredCapabilities("firefox", "", Platform.ANY);
    WebDriver driver = new RemoteWebDriver(new URL("http://127.0.0.1:4444/wd/hub/"), capabilities);

    显然哈,如果使用Selenium Server的话,是需要在远程启动Selenium Server的。

    还发现更重要的好处,可以实现在页面加载元素(主要是 js)时间过长时,引起浏览器与 driver之间通信com异常的问题。这时,就可以采用server这种方式了。

  • 相关阅读:
    iOS 完美解决 interactivePopGestureRecognizer 卡住的问题
    Entity Framework 的事务 DbTransaction
    EntityClient 介绍
    ObjectQuery查询及方法
    Entity SQL 初入
    LINQ to Entities 查询注意事项
    IQueryable接口与IEnumberable区别
    CodeFirst 的编程方式
    Entity Framework 的小实例:在项目中添加一个实体类,并做插入操作
    实体框架(Entity Framework)简介
  • 原文地址:https://www.cnblogs.com/wcLT/p/3425581.html
Copyright © 2011-2022 走看看