2017-02-16 63 views
-1

无法找到此问题的工作解决方案,我明白它之前已被问过。TestNG - 错误 - Java - MAC

在Mac上使用Eclipse,TestNG与Java。 Eclipse在IDE中完美运行测试套件。 当试图通过命令行来运行,我遇到了以下错误:

[TestNG] [ERROR] 
    Cannot find class in classpath: firefoxScripts.SmallRwyLengthChange 

这里是IDE环境的屏幕截图: 这里从Finder中的文件夹结构:

Screen shot of Finder's folder structure, and eclipse view

from terminal,这里是我一直在编辑的“Learn-Automation/.classpath”文件:

<?xml version="1.0" encoding="UTF-8"?> 
    <classpath> 
    <classpathentry kind="src" path="src"/> 
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> 
    <classpathentry kind="lib" path="/Users/bryan.lee/Documents/selenium-server-standalone-3.0.1.jar"/> 
    <classpathentry kind="con" path="org.testng.TESTNG_CONTAINER"/> 
    <classpathentry kind="bin" path="/Users/bryan.lee/Documents/workspace/Learn-Automation/bin/firefoxScripts/SmallRwyLengthChange.class"/> 
    <classpathentry kind="lib" path="/Users/bryan.lee/Documents/workspace/Learn-Automation/lib/jcommander-1.7.jar"/> 
    <classpathentry kind="lib" path="/Users/bryan.lee/Documents/workspace/Learn-Automation/lib/selenium-html-runner-3.0.1.jar"/> 
    <classpathentry kind="lib" path="/Users/bryan.lee/Documents/workspace/Learn-Automation/lib/testng-6.9.9.jar"/> 
    <classpathentry kind="lib" path="/Users/bryan.lee/Documents/workspace/Learn-Automation/lib/selenium-server-standalone-3.0.1.jar"/> 
    <classpathentry kind="output" path="bin"/> 
    </classpath> 

最后,该命令我跑,试图初始化测试用例

java -cp /Users/bryan.lee/Documents/workspace/Learn-Automation/lib/testng-6.9.9.jar:/Users/bryan.lee/Documents/workspace/Learn-Automation/lib/jcommander-1.7.jar org.testng.Testng testng.xml 

对我来说,类路径设置正确,所以我不知道为什么它不会检测类“smallrwylengthchange”。就像我所说的,它在Eclipse IDE中运行得非常好。所以简单地转换为命令行让我觉得我缺少一些小的东西,比如文件位置?任何帮助表示赞赏。

+0

您能告诉哪个命令Eclipse IDE中执行? –

+0

我并不熟悉Eclipse,控制台有这个运行TestNG的的日志前: /private/var/folders/wj/hf7_2fk163l006nxqnm30s05k61rx8/T/testng-eclipse--1232541245/testng-customsuite.xml – NewProgrammer686

回答

0

您的命令行包含TestNG依赖关系,但您的类在哪里?

尝试用:

java -cp /Users/bryan.lee/Documents/workspace/Learn-Automation/bin/:/Users/bryan.lee/Documents/workspace/Learn-Automation/lib/testng-6.9.9.jar:/Users/bryan.lee/Documents/workspace/Learn-Automation/lib/jcommander-1.7.jar org.testng.Testng testng.xml

+0

大点,我复制了错误的命令。但是我的旧命令是将Class文件包括到.class扩展名中。我认为这是错误的,并且已经意识到了这个问题。 +1的建议 – NewProgrammer686

0

于是我找到了一个解决方案,我想我的.classpath文件是错误的。

做了以下步骤:

  1. CD到有 “的testng.xml”

  2. 出口类路径命令与硒的server.jar文件夹,TestNG的-6.9.9 .jar,以及类文件“/ bin”的位置。以前我一直在包括整个文件,这是行不通的,只是该类的文件夹,它似乎工作。下面的代码在“:”分隔的可读性

    export CLASSPATH=/Users/bryan.lee/Documents/workspace/Learn-Automation/lib/testng-6.9.9.jar 
    :/Users/bryan.lee/Documents/workspace/Learn-Automation/lib/selenium-server-standalone-3.0.1.jar 
    :/Users/bryan.lee/Documents/workspace/Learn-Automation/bin