Selenium Standalone Server和Java selenium Jar文件之间有什么区别

What is difference between Selenium Standalone Server and Java selenium Jar files

这听起来像是个愚蠢的问题,但是我想知道Selenium独立服务器和Java selenium Jar文件之间的区别? 我可以使用两个jar文件导入Webdriver类。 如果selenium Standalone服务器正在提供所有必需的jar文件,那么为什么我们要有单独的Java selenium Jar文件

SeleniumHQ


Selenium Standalone Server-是一个Java jar文件,用于启动selenium服务器,即要说的服务器,是要自动化的浏览器的selenium网格的代理。

服务器良好是有以下几个原因:

  • 通过远程计算机或多台计算机(节点)进行测试分发,
  • 在不同版本的不同浏览器上进行测试,
  • 测试不是使用Java绑定(即Python,C#或Ruby)开发的,而是要使用HtmlUnit驱动程序的测试
  • 4。

    Selenium Client(jar)-就像一个客户端,将一堆API滚动到一个jar中,用于不同的语言(Ruby,Phyton,C#,Javascript等)
    因此,如果您想在本地自动化并在浏览器上进行测试,则它的一个版本不想并行运行,这就是您所需要的。

    客户端jar也可以通过maven或gradle之类的工具,开源构建自动化系统来获取。

    1
    2
    3
    4
    5
    6
    <!-- https://mvnrepository.com/artifact/io.appium/java-client -->
    <dependency>
        <groupId>io.appium</groupId>
        java-client</artifactId>
        <version>6.0.0-BETA5</version>
    </dependency>

    Selenium客户端和WebDriver语言绑定

    为了创建本地Selenium WebDriver脚本,您需要使用特定于语言的客户端驱动程序。使用Selenium Java Binding Art时,可以使用发布为Selenium Java Client的jar。

    是否需要Selenium服务器取决于您打算如何使用Selenium-WebDriver。如果您的浏览器和测试都将在同一台计算机上运行,??并且您的测试仅使用WebDriver API,则您无需运行Selenium-Server; WebDriver将直接运行浏览器。

    硒独立服务器

    尽管有一些原因可以使用Selenium服务器,即Selenium独立服务器和Selenium-WebDriver。

    • 如果您正在使用Selenium-Grid在多个计算机或虚拟机(VM)上分布测试。
    • 如果要连接到具有特定浏览器版本而不是当前计算机上的远程计算机。
    • 如果您不使用Java绑定技术(即C#,Ruby,Python,Javascript),并且希望使用HtmlUnit驱动程序。
    • 如果使用的是DefaultSelenium(或RemoteWebDriver实现),则仍需要启动Selenium服务器。最好的方法是从Selenium Downloads页下载selenium-server-standalone.jar并使用它。
    • 如果将以下依赖项添加到pom.xml,则还可以将Selenium Server嵌入到自己的项目中:

      1
      2
      3
      4
      5
      <dependency>
          <groupId>org.seleniumhq.selenium</groupId>
          selenium-server</artifactId>
          <version>3.12.0</version>
      </dependency>

      现在,您可以自己创建一个SeleniumServer实例并启动它。

    注意:selenium-server工件与servlet-api-3.1.0工件具有相关性,如果您的项目将在Web应用程序容器中运行,则应将其排除在外。