如何通过在Java中使用Selenium2Library WebDriver创建新的RobotFramework关键字来扩展Selenium2Library

如何通过在Java中使用Selenium2Library WebDriver创建新的RobotFramework关键字来扩展Selenium2Library,java,python-2.7,maven,selenium-webdriver,robotframework,Java,Python 2.7,Maven,Selenium Webdriver,Robotframework,我试图通过在Java中使用Selenium2Library WebDriver实现新的机器人框架关键字来扩展Selenium2Library python库(1.8.0) 为了做到这一点,我需要能够在我的Java关键字中检索Selenium2Library python库使用的WebDriver实例 请注意,我不想使用Markus Benhardt创建的Selenium 2(WebDriver)Python库的Java端口,因为它基于旧版本的Selenium2Library,所以显然已经过时了

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

为了做到这一点,我需要能够在我的Java关键字中检索Selenium2Library python库使用的WebDriver实例

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

我听说有了Jython2.7,我们现在可以在Java上使用Python版本的Selenium2库了。。。但我的问题是。。。怎么做

我的设置正在使用:

  • Robot Framework 3.0.2(作为maven插件依赖项)
  • Selenium Server 2.53.1(作为maven插件依赖项)
  • Selenium2库python库(1.8.0)
下面是我的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>

org.robotframework
机器人框架maven插件
1.4.7
/usr/local/lib/python2.7/site-packages
跑
org.robotframework
机器人框架
3.0.2
org.seleniumhq.selenium
硒服务器
2.53.1

有人做过类似的事情吗?

您描述了对Java解决方案的渴望,但在我看来,您更愿意留在Python环境中。在Robot框架中,应用程序
Robot
(Python)调用
Selenium2Library
(Python),然后调用
Selenium2Library
(Python)语言绑定模块,并向浏览器
WebDriver
发送消息


可以看出,在典型的Robot框架设置中不需要Java。如果您想扩展
selenium
Python模块,那么请看一看,这是一个很好的例子,说明了如何实现这一点。

即使我也遇到过类似的情况,我必须将Java与Robotframework结合使用。使用Robot Selenium2 Java库可以链接关键字

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

试着看看下面的项目

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