【问题标题】:How to extend Selenium2Library by creating new RobotFramework keywords using Selenium WebDriver in Java如何通过在 Java 中使用 Selenium WebDriver 创建新的 RobotFramework 关键字来扩展 Selenium2Library
【发布时间】:2018-02-04 12:01:52
【问题描述】:

我正在尝试通过在 Java 中使用 Selenium WebDriver 实现新的机器人框架关键字来扩展 Selenium2Library python 库 (1.8.0)。

为此,我需要能够在我的 Java 关键字中检索 Selenium2Library python 库使用的 WebDriver 实例。

请注意,我不想使用 Markus Benhardt 创建的 Selenium 2 (WebDriver) Python 库的 Java 端口,因为它基于旧版本的 Selenium2Library,所以它显然已经过时了。

我听说使用 Jython 2.7,我们现在可以在 Java 上使用 Python 版本的 Selenium2Library...但我的问题是...如何?

我的设置正在使用:

这是我的 pom.xml 的摘录

<plugin>
    <groupId>org.robotframework</groupId>
    <artifactId>robotframework-maven-plugin</artifactId>
    <version>1.4.7</version>
    <configuration>
        <extraPathDirectories>
            <extraPathDirectory>/usr/local/lib/python2.7/site-packages</extraPathDirectory> 
        </extraPathDirectories>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>run</goal>
            </goals>
        </execution>
    </executions>
    <dependencies>

        <!-- Robot Framework - High level test automation framework -->
        <dependency>
            <groupId>org.robotframework</groupId>
            <artifactId>robotframework</artifactId>
            <version>3.0.2</version>
        </dependency>

        <!-- Selenium Server -->
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-server</artifactId>
            <version>2.53.1</version>
        </dependency>
    </dependencies>
</plugin>

有人做过这样的事吗?

【问题讨论】:

    标签: java python-2.7 maven selenium-webdriver robotframework


    【解决方案1】:

    您描述了对 Java 解决方案的渴望,但在我看来,您更愿意留在 Python 上下文中。在 Robot Framework 中,应用程序 robot (Python) 调用 Selenium2Library (Python),后者又调用 selenium (Python) 语言绑定模块,这会导致向浏览器发送消息 WebDriver

    如您所知,典型的 Robot Framework 设置不需要 Java。如果您想扩展selenium Python 模块,请查看robotframework-extendedselenium2library,这是一个很好的例子来说明如何实现这一目标。

    【讨论】:

      【解决方案2】:

      即使我也遇到过类似的情况,我不得不将 Java 与 Robotframework 一起使用。使用 Java 的 Robot Selenium2library 可以实现关键字的链接。

      您还可以创建自定义关键字,然后将它们链接到 Java 类以实现各自的实现。

      试着看看下面的项目

      https://github.com/mskumar1809/StraitTimesAppiumRobot

      它为 Robot 自定义关键字提供 java 实现,而不依赖于 Robot 过时的 Java 库

      【讨论】:

        猜你喜欢
        • 2017-04-16
        • 2013-08-15
        • 2020-04-26
        • 1970-01-01
        • 1970-01-01
        • 2019-10-28
        • 2015-08-09
        • 2020-05-09
        • 1970-01-01
        相关资源
        最近更新 更多