2017-04-09 211 views
1

如果我從Eclipse IDE運行我的testng.xml,一切正常;但如果AI嘗試從命令行中運行它們,然後我看到以下enter image description here我從命令行運行testng,但沒有執行測試

文件夾結構: enter image description here

我的班級之後,其測試時,我從Eclipse IDE中運行的運行良好:

package package1; 

import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.chrome.ChromeDriver; 
import org.testng.Assert; 
import org.testng.annotations.AfterClass; 
import org.testng.annotations.BeforeTest; 
import org.testng.annotations.Test; 

public class Example1 { 

    public static WebDriver driver; 

    @BeforeTest 
    public void launchBrowser() { 
     System.setProperty("webdriver.chrome.driver", "C:\\Eclipse\\Selenium\\chromedriver.exe"); 
     driver = new ChromeDriver(); 
    } 

    @Test(priority = 1) 
    public void verifygoogleTitle() { 
     driver.get("http://www.google.com"); 
     Assert.assertEquals("Google", driver.getTitle()); 
    } 

    @Test(priority = 2) 
    public void verifyyahooTitle() { 
     driver.get("https://in.yahoo.com"); 
     Assert.assertEquals("Yahoo", driver.getTitle()); 
    } 

    @Test(priority = 3) 
    public void verifybankofindiaTitle() { 
     driver.get("http://www.bankofindia.co.in/english/home.aspx"); 
     Assert.assertEquals("Bank Of India - Home", driver.getTitle()); 
    } 

    @AfterClass 
    public void closeBrowser() { 
     driver.close(); 
    } 

} 

我的testng.xml是以下幾點:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> 
<suite name="Suite"> 
    <test name="Test"> 
    <classes> 
     <class name="package1.Example1"/> 

    </classes> 
    </test> <!-- Test --> 
</suite> <!-- Suite --> 

[UPDATE ]擴展日誌:

enter image description here

+0

請後測代碼,位置... –

+0

什麼地點? – kushal

+0

正如我記得測試方法必須有'測試'前綴。例如,將'verifygoogleTitle'更改爲'testVerifygoogleTitle'。並再次運行 –

回答

0

讓我有幾點這裏解決您的問題:

  1. 如果我們使用maven全部,沒有必要安裝(添加TestNG的庫) TestNG單獨(手動)Install New SoftwareEclipse Market Place。相反,我們可以簡單地指定要在pom.xml TestNG的依賴關係如下:

<dependency> 
 
    <groupId>org.testng</groupId> 
 
    <artifactId>testng</artifactId> 
 
    <version>6.8</version> 
 
    <scope>test</scope> 
 
</dependency>

優點:maven-surefire-plugin做所有的下載&配置我們。

  • 現在,我們已經得到了4種可選方式來執行測試用例如下:
  • A. Run As TestNG Test(Eclipse中,通過java文件)

    乙。Run As TestNG Suite(Eclipse中,通過的testng.xml)

    C. Run As maven test(Eclipse中,通過的pom.xml)

    D.命令行選項。

    對於命令行執行: a。我們必須在pom.xml中指定在哪裏找到testng.xml。例如:

    <suiteXmlFiles> 
     
    <suiteXmlFile>${suiteXmlFile}</suiteXmlFile> 
     
    </suiteXmlFiles>

    爲了實現這一點,

    灣我們必須將testng.xml移動到src/main/resources

    c。通過命令行將目錄更改爲項目文件夾。 d)。衝出先前的依賴關係。

    e。安裝必要的依賴關係。

    f。安裝build &執行測試用例。

    讓我知道這是否回答你的問題。

    2

    我有類似的問題。 testng.xml運行良好,如果我從Eclipse運行它,但是當我從命令提示符運行相同時;它給出了0測試運行的結果,沒有錯誤。

    我的問題是在我的類路徑設置。我將所有TestNG jar文件保存在一個單獨的文件夾中(爲了更好地組織),而將其餘的jar文件直接放在lib目錄中。當我將lib添加到我的類路徑中時,它工作正常。

    組類路徑= d:\工作空間\ SeleniumTrials \ BIN; d:\工作空間\ SeleniumTrials \ lib中\ TestNG的*; d:\工作空間\ SeleniumTrials \ lib中的java * org.testng.TestNG的testng.xml

    相關問題