构建步骤'执行Windows批处理命令'标记为失败完成:失败

时间:2015-12-27 00:28:57

标签: java jenkins

我已经将我的项目配置为使用Jenkins运行Build如果我自己执行testng.xml它成功执行我的测试用例但是如果我通过Jenkins执行我得到以下错误消息

构建步骤'执行Windows批处理命令'标记为失败 完成:失败

然而,如果测试用例输出只是使用`(system.out.println();)

,它会成功执行构建

如果测试用例涉及打开浏览器,则会通过Jenkins失败

这是我的测试类

    public WebDriver driver;
    public String baseUrl = "http://iparkit.com/";

    @BeforeMethod
      public void initializeWebDriver() {

          driver = new FirefoxDriver();
          driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
          driver.get(baseUrl);
          driver.manage().window().maximize();
      }
    //Close Browser after each test case execution
    @AfterMethod
    public void closeBrowser()
    {
        driver.close();
    }
    @Test(enabled=true) //TC2-01 - OK
    public void iparkit_valid_email_password() throws InterruptedException
    {
        driver.findElement(By.xpath(".//*[@id='mast']/nav/ul/li[4]/a")).click();
        driver.findElement(By.xpath(".//*[@id='email']")).sendKeys("imanltd+1@hotmail.com");
        driver.findElement(By.xpath(".//*[@id='password']")).sendKeys("*******");
        driver.findElement(By.xpath(".//*[@id='top']/div/main/form/main/fieldset[3]/button")).click();
        String Expectedlnktext = driver.findElement(By.linkText("Sign Out")).getText();
        String Actuallnktext = "Sign Out";
        Assert.assertEquals(Actuallnktext,Expectedlnktext);
    }
}

这是我的testng.xml

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

这是最后一个控制台输出

Started by user anonymous
Building in workspace D:\K - Selenium\SeleniumWorkspace\iParkit_copy
[iParkit_copy] $ cmd /c call C:\Windows\TEMP\hudson4187523140058494240.bat

D:\K - Selenium\SeleniumWorkspace\iParkit_copy>run.bat

D:\K - Selenium\SeleniumWorkspace\iParkit_copy>java -cp bin;lib/* org.testng.TestNG testng.xml 
[TestNG] Running:
  D:\K - Selenium\SeleniumWorkspace\iParkit_copy\testng.xml


===============================================
Suite
Total tests run: 1, Failures: 1, Skips: 0
===============================================

Build step 'Execute Windows batch command' marked build as failure
Finished: FAILURE

2 个答案:

答案 0 :(得分:0)

batch命令将检查最后一个命令的“错误级别”(返回码)。 除零之外的任何事都会导致失败。 您没有提供太多详细信息,但似乎您的浏览器返回非零错误级别。

您可以在浏览器之后运行虚拟命令以获得错误级别。或者修正导致非零错误级别的任何原因(推荐的解决方案)

设置错误级别的流行虚拟命令的示例是“ver&gt; nul”

答案 1 :(得分:0)

在批处理脚本末尾使用exit /b 0应该可以解决问题。