第一次執行TestNG測試類時報Cannot find class in classpath
阿新 • • 發佈:2019-01-30
第一次執行TestNG測試類時報以下的錯誤,其實我在公司也遇到這個問題,但2次出問題的原因不一樣,我記錄一下吧 。
org.testng.TestNGException:
Cannot find class in classpath: TestNGDemoat org.testng.xml.XmlClass.loadClass(XmlClass.java:81)
at org.testng.xml.XmlClass.init(XmlClass.java:73)
at org.testng.xml.XmlClass.<init>(XmlClass.java:59)
at org.testng.xml.TestNGContentHandler.startElement(TestNGContentHandler.java:546)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.emptyElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at org.testng.xml.XMLParser.parse(XMLParser.java:38)
at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.java:16)
at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.java:9)
at org.testng.xml.Parser.parse(Parser.java:172)
at org.testng.TestNG.initializeSuitesAndJarFile(TestNG.java:300)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:103)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:137)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:58)
一、辦公室那一次:是因為我沒有配置好WebDriver的相關JAR檔案。配置如下:
二、第二次,我配置了還是報錯,是因為我犯了個低階錯誤,因為我新建的包沒有在src下面(原諒我還不是很熟悉java),因為這個原因,我的程式碼都沒有任何錯誤提示,還好昨天我剛看了java的基礎視訊,講到工程下面的src是專案的原始檔,是存放所有java檔案的地方。如下:
問題得到解決
三、我在網上還看到了其他方法,也寫在裡面吧,方便後面檢視
1、沒有配置環境變數(雖然我還不知道要配,我沒有配也成功了)
設定TestNG的環境
設定TESTNG_HOME環境變數指向TestNG的jar 存放在您的機器上的基本目錄位置。假設,我們已經儲存了testng-6.8.jar, TestNG各種作業系統上的資料夾如下:
OS | 輸出 |
---|---|
Windows | Set the environment variable TESTNG_HOME to C:\TESTNG |
Linux | export TESTNG_HOME=/usr/local/TESTNG |
Mac | export TESTNG_HOME=/Library/TESTNG |
設定CLASSPATH變數
設定CLASSPATH環境變數指向TestNG的jar檔案位置。假設,我們已經儲存了testng-6.8.jar, TestNG在各種作業系統上的資料夾如下:
OS | 輸出 |
---|---|
Windows | 設定環境變數 CLASSPATH 為 %CLASSPATH%;%TESTNG_HOME%\testng-6.8.jar; |
Linux | export CLASSPATH=$CLASSPATH:$TESTNG_HOME/testng-6.8.jar: |
Mac | export CLASSPATH=$CLASSPATH:$TESTNG_HOME/testng-6.8.jar: |
1)In Eclipse> Project > Clean. (The Exception remained)
2)I ran another project(The testng.xml ran successfully)