当前位置: 首页 > 知识库问答 >
问题:

硒Java机器人框架关键词

米浩穰
2023-03-14

我是Robot框架的新手,致力于使用带有Selenium和java关键字的Robot框架。我知道RF是基于python的,但是,该项目要求使用java关键字。

我的想法是创建java函数和文本文件,然后使用:
java-jarrobotframework-2.8.x.jar

例如,java函数正在使用selenium webdrive打开浏览器,问题是我不知道如何将java函数组合到文本文件中。我试了试,但错误是“找不到关键字”。如果我的java函数称为openBrower,我应该如何在文本文件中定义关键字?

谁能给我提供一个带有selenium和java关键字的RF的简单示例?谢谢!


共有3个答案

申屠浩歌
2023-03-14

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

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

尝试查看下面的项目

https://github.com/mskumar1809/StraitTimesAppiumRobot

它为Robot关键字提供了java实现。

斜俊
2023-03-14
package com.mypackage;

public class Foo {
  public void methodNameIsKeyword() {
    // ...
  }
}
apply plugin: "java"

repositories {
  mavenCentral()
}

dependencies {
  runtime "org.robotframework:robotframework:2.8.5"
}

task writeScript() {
  def classpath = sourceSets.main.runtimeClasspath + files("build/libs/mylibrary.jar")
  println "java -cp ${classpath.asPath} org.robotframework.RobotFramework \$@"
}

task wrapper(type: Wrapper) {
  gradleVersion = "1.10"
}

下一步是在脚本中使用新关键字

*** Settings ***

Library    com.mypackage.Foo # constructor args go here.

*** Testcases ***

It should use the Java class
    Method Name Is Keyword 

当然,类可以接受构造函数参数,并从方法中获取参数/返回值。

慕容品
2023-03-14
# This file is located in "robot" folder

*** Settings ***
Documentation   CommonResource file with KWs
Library         OperatingSystem

*** Variables ***
${SRC_PATH}    ../../src/

*** Keywords ***

Compile Class
    [Arguments]  ${class_name}  ${path}=${SRC_PATH}
    Run    javac ${path}${class_name}.java

Run Java Class
    [Arguments]  ${class_name}  ${path}=${SRC_PATH}
    Compile Class  ${path}  ${class_name}
    ${output}=   Run    java -cp ${path} ${class_name}
    Log     ${output}   WARN
/**
 * This file is located in "src" folder
 */
public class Test {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}
# This file is located in "robot/Tests" folder
*** Settings ***
Documentation  Running Java class with RF
Resource       ../CommonResource.robot

*** Testcases ***

TestOne
    Run Java Class  Test
 类似资料:
  • 我正在尝试设置一个容器,以便在Chrome上使用RobotFramework进行测试。 但是当我运行容器时,我总是得到一个WebDriverException。我已经找过了,但找不到任何对我有效的修复方法。 这是我的Dockerfile

  • 在我测试的页面上有一个链接,默认情况下在新选项卡中打开。我需要打开链接,并在新打开的页面上验证一些值。因为我发现selenium不支持使用选项卡,所以我试图在新窗口中打开链接,但它仍然不能工作…我实现了python函数来保持SHIFT键(我以前为CTRL做过这个,它很有效),然后我调用了“click”函数,但链接仍然在新选项卡中打开 我尝试了许多变体与睡眠,释放键等,但它从来没有真正打开链接在新的

  • 我有一个聊天机器人解决方案创建使用。Net Framework,该框架与Facebook messenger集成,使用Microsoft提供的以下说明: https://docs.microsoft.com/en-us/azure/bot-service/bot-service-channel-connect-facebook?view=azure-bot-service-4.0 现在他们添加了一

  • 我们不允许寻求书籍、工具、软件库等推荐的问题。你可以编辑这个问题,以便用事实和引用来回答。 我是一名java开发人员,我想开发一个聊天机器人,并集成到网站、脸书页面和WhatsApp群组中……Java中有没有一个非常好的框架,可以让我开发这个聊天机器人,并在未来集成人工智能。或者我用python或者NodeJs更好。如果是,哪个框架更适合这个项目。谢了。

  • 问题内容: 我必须实现一个管道,并试图找到一种方法,如何在Jenkins管道中发布Robot Framework结果。我发现了有关将Robot Framework插件实现到Pipeline中的多个问题,并且也发现了这个问题,这似乎是解决方案。但是,我尝试了这种方法,结果仍然不见了。 有任何解决方法或功能示例吗? 问题答案: [编辑以反映成功的解决方法] 对问题跟踪器的此评论显示了一种似乎可行的解决

  • 如果页面上存在元素,我想运行关键字。 我尝试使用Selenium库的等待页面包含元素关键字,但无论元素是否存在,它总是返回“无”。我尝试设置自定义错误,但这也不起作用: 关键字click元素${locator}仅在我设置条件${condition}==“None”时运行 我做错什么了吗?我怎么能让Selenium库等到。。。关键字return true或false。 谢谢