机器人框架不拾取关键字实现
我试图建立机器人在我创建了一个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