2017-04-09 212 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

    相关问题