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这种方式了。

  • 相关阅读:
    Jenkins发布Java项目
    自动发布项目(支持部署,回退功能)
    Gitlab Server
    1一站式管理所有SpringBoot启动类,Services服务窗口
    Navicat 连接MySQL8.0.23 出现2059错误
    2命令模式
    1模板方法模式
    7享元模式
    6外观模式
    5桥梁模式
  • 原文地址:https://www.cnblogs.com/wcLT/p/3425581.html
Copyright © 2011-2022 走看看