机器人框架不拾取关键字实现

问题描述:

我试图建立机器人在我创建了一个Eclipse Maven的硒TestNG的Java项目的顶部,但它似乎并没有被捡默认关键字(我没有甚至尝试添加我自己的)。机器人框架不拾取关键字实现

我开始通过创建一个Maven项目并添加到pom.xml中硒3.4的依赖关系,TestNG的6.8和3.0.2的机器人,然后还增加了机器人插件1.4.7。最后,更新项目,让Maven下载所有需要的东西。

为了测试硒(没有机器人),我在src> test> java中创建了一个textNG类,在系统中添加了一个指向chromedriver.exe文件的系统属性,并添加了一个简单的测试,只是打开浏览器并导航到谷歌。它的工作,所以现在我想在其上使用机器人。

这是我的pom.xml文件:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.demo.automation</groupId> 
    <artifactId>automated_tests</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <dependencies> 
    <dependency> 
     <groupId>org.seleniumhq.selenium</groupId> 
     <artifactId>selenium-java</artifactId> 
     <version>3.4.0</version> 
    </dependency> 
    <dependency> 
     <groupId>org.testng</groupId> 
     <artifactId>testng</artifactId> 
     <version>6.8</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.robotframework</groupId> 
     <artifactId>robotframework</artifactId> 
     <version>3.0.2</version> 
    </dependency> 
    </dependencies> 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.robotframework</groupId> 
     <artifactId>robotframework-maven-plugin</artifactId> 
     <version>1.4.7</version> 
     <executions> 
      <execution> 
      <goals> 
       <goal>run</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
    </plugins> 
    </build> 
</project> 

我创建的src /测试/ robotframework /验收文件,其内容如下:

*** Settings *** 
Test Set Up Start Selenium Server 
Test Tear Down Stop Selenium Server 

*** Test Cases *** 
Visit google 
    Open Browser https://www.google.com chrome 
    Close Browser 

然而,当我作为运行maven安装,我得到:

安装失败:找不到名称为“启动Selenium服务器”的关键字。

而且拆毁失败:无关键词名为“停止Selenium服务器” 找到。

那么,为什么它是机器人没有找到关键字执行?我如何添加自己的关键字的实现?

机器人的原因是没有找到的关键词是,你是不是导入包含关键字库。 Start Selenium Server是已弃用的SeleniumLibrary的一部分。为了使用的关键字,你必须与Library设置导入:

*** Settings *** 
Library SeleniumLibrary 
Test Set Up Start Selenium Server 
Test Tear Down Stop Selenium Server 

假设在安装SeleniumLibrary的文件夹在你的PYTHONPATH,机器人将导入库,使关键字提供给您。

我居然发现了我失踪了一个maven依赖性:

<dependency> 
    <groupId>com.github.markusbernhardt</groupId> 
    <artifactId>robotframework-selenium2library-java</artifactId> 
    <version>1.4.0.8</version> 
</dependency> 

而且,我并不需要使用启动Selenium服务器和停止Selenium服务器,因为他们弃用。 在那之后,我能够通过创建一个自定义关键字设置(我使用chromedriver)浏览器路径来运行我的测试:

我创建内src/main/java/demo一个.java文件,并补充说,设置属性的方法:

package demo; 

public class Setup { 
    public void driverPath() { 
     System.setProperty("webdriver.chrome.driver", "C:\\path\\to\\chromedriver.exe"); 
    } 
} 

然后,我创建的src /测试/ robotframework /承兑/ Resource.robot文件并导入我的媒体库:

*** Settings *** 
Library Selenium2Library 
Library demo.Setup 

也造就一个src /测试/ robotframework /承兑/ __ init__。机器人文件并用于我创建关键字(浏览器设置):

*** Settings *** 
Test Setup Driver Path 
Test Teardown Close All Browsers 
Test Timeout 2 minute 30 seconds 

在我的测试,我调用Resource.robot:

*** Settings *** 
Resource Resource.robot 

*** Test Cases *** 
Visit google 
    Open Browser https://www.google.com chrome