我从命令行运行testng但没有执行测试

时间:2017-04-09 07:30:38

标签: java selenium testng

如果我从Eclipse IDE运行我的testng.xml,一切运行良好;但如果我尝试从命令行运行它们,那么我会看到enter image description here

文件夹结构: enter image description here

My Class正在关注,当我从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 -->

[更新]扩展日志:

enter image description here

2 个答案:

答案 0 :(得分:2)

我有类似的问题。如果我从Eclipse运行它,但是当我从命令提示符运行时,testng.xml运行正常;它给出了0测试运行的结果,没有错误。

我的问题出在我的classpath设置中。我把所有的TestNG jar文件保存在eclipse项目的lib目录中的单独文件夹中(以便更好地组织),而我的jar文件的其余部分直接放在lib目录中。当我将lib添加到我的类路径时它工作正常。

set classpath = D:\ workspace \ SeleniumTrials \ bin; D:\ workspace \ SeleniumTrials \ lib \ TestNG *; D:\ workspace \ SeleniumTrials \ lib * java org.testng.TestNG testng.xml

答案 1 :(得分:0)

让我在这里提出几点问题:

  1. 如果我们正在使用maven,则无需通过Install New SoftwareEclipse Market Place单独(手动)安装(添加TestNG库)TestNG。相反,我们可以在pom.xml中简单地指定TestNG依赖关系,如下所示:
  2. &#13;
    &#13;
    <dependency>
      <groupId>org.testng</groupId>
      <artifactId>testng</artifactId>
      <version>6.8</version>
      <scope>test</scope>
    </dependency>
    &#13;
    &#13;
    &#13;

    优点:maven-surefire-plugin完成所有下载工作为我们配置。

    1. 现在,我们有4种可选的方法来执行Testcase,如下所示:
    2. 一个。 Run As TestNG Test(Eclipse,通过.java文件)

      B中。 Run As TestNG Suite(Eclipse,通过testng.xml)

      ℃。 Run As maven test(Eclipse,通过pom.xml)

      d。命令行选项。

      对于命令行执行: 一个。我们必须在pom.xml中指定在哪里找到testng.xml。例如:

      &#13;
      &#13;
      <suiteXmlFiles>
      <suiteXmlFile>${suiteXmlFile}</suiteXmlFile>
      </suiteXmlFiles>
      &#13;
      &#13;
      &#13;

      要实现这一目标,

      湾我们必须将testng.xml移至src/main/resources

      ℃。通过命令行更改目录到项目文件夹。

      d。清除以前的依赖关系。

      即安装必要的依赖项。

      F。安装build&amp;执行testcase。

      如果这回答了你的问题,请告诉我。