我正在尝试通过maven执行在Robotframework上编写的测试套件,因为我想捕获单元和集成测试阶段所涵盖的全部代码,为此我使用了jacoco插件。
一切看起来都很好,它确实开始执行机器人测试,但无法导入一些测试库,如SSHLibrary、requests、jsonschema等。
我开始意识到我将不得不在类路径中为这种依赖项添加jars (在下面的日志中,请参阅SSHLibrary的com.trilead.ssh2 ),并尝试过,但没有成功。
--- robotframework-maven-plugin:1.4.7:acceptance-test (default) @ rdx ---
Executing Robot with command:
[/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java, -javaagent:/home/asr/.m2/repository/org/jacoco/org.jacoco.agent/0.7.5.201505241946/org.jacoco.agent-0.7.5.201505241946-runtime.jar=destfile=/home/asr/workspace/RDX/target/coverage-reports/jacoco-it.exec, org.robotframework.RobotFramework, -d, /home/asr/workspace/RDX/target/robotframework-reports, -t, mycli_help_usage, -V, /home/asr/robot/tf2jan/etc/environments/mycli_env.py, -P, /home/asr/workspace/RDX/src/test/resources/robotframework/libraries, -x, TEST-mycli.xml, --xunitskipnoncritical, /home/asr/robot/tf2jan/Tests/CLI/mycli]
==============================================================================
mycli
==============================================================================
[ ERROR ] Error in file '/home/asr/robot/tf2jan/Tests/CLI/mycli/mycli_resources.txt': Importing test library 'SSHLibrary' failed: ImportError: No module named SSHLibrary
Traceback (most recent call last):
None
PYTHONPATH:
/home/asr/.m2/repository/org/robotframework/robotframework/3.0.2/Lib
/home/asr/.m2/repository/org/robotframework/robotframework/3.0.2/robotframework-3.0.2.jar/Lib
__classpath__
__pyclasspath__/
CLASSPATH:
/home/asr/.m2/repository/org/robotframework/robotframework/3.0.2/robotframework-3.0.2.jar
/home/asr/workspace/RDX/target/test-classes
/home/asr/workspace/RDX/target/classes
/home/asr/.m2/repository/com/trilead/trilead-ssh2/build213-svnkit-1.3-patch/trilead-ssh2-build213-svnkit-1.3-patch.jar
/home/asr/.m2/repository/junit/junit/4.11/junit-4.11.jar
/home/asr/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar
/home/asr/.m2/repository/pl/pragmatists/JUnitParams/1.0.4/JUnitParams-1.0.4.jar
/home/asr/.m2/repository/org/jacoco/org.jacoco.agent/0.7.5.201505241946/org.jacoco.agent-0.7.5.201505241946-runtime.jar发布于 2017-03-08 02:44:40
在使用RED Robot编辑器方面,有一个关于集成Robot和maven的帮助。查看下面的链接,也许你会发现任何相关和有帮助的东西:
https://github.com/nokia/RED/blob/master/red_help/user_guide/maven.html.md
发布于 2017-03-08 03:12:34
通过使用extraPathDirectory标签在路径中添加所需的python库解决了此问题。
<plugin>
<groupId>org.robotframework</groupId>
<artifactId>robotframework-maven-plugin</artifactId>
<version>1.4.7</version>
<executions>
<execution>
<goals>
<goal>acceptance-test</goal>
<goal>verify</goal>
</goals>
<configuration>
<skip>${skipRobotTests}</skip>
<testCasesDirectory>/home/asr/robot/tf2jan/Tests/CLI/dtcli</testCasesDirectory>
<variableFiles>/home/asr/robot/tf2jan/etc/environments/dtcli_env.py</variableFiles>
<outputDirectory>${project.basedir}/target/robotframework-reports/</outputDirectory>
<tests>dtcli_help_usage</tests>
<extraPathDirectories>
<extraPathDirectory>/usr/lib/python2.7/dist-packages</extraPathDirectory>
<extraPathDirectory>/home/asr/Downloads/python-jsonpath-rw</extraPathDirectory>
<extraPathDirectory>/home/asr/Downloads/ply-3.10</extraPathDirectory>
<extraPathDirectory>/home/asr/Downloads/jsonselect-0.2.3</extraPathDirectory>
</extraPathDirectories>
<externalRunner>
<excludeDependencies>false</excludeDependencies>
<jvmArgs>
<jvmArg>${surefireArgLine}</jvmArg>
</jvmArgs>
</externalRunner>
</configuration>
</execution>
</executions>
</plugin>https://stackoverflow.com/questions/42417118
复制相似问题