如何在TestNG中捕获内部断言

问题描述 投票:0回答:1

我对Java,Selenium和TestNG还是相当陌生,如果问题很基本,请和我一起裸露。我正在寻找一种捕获发生TestNG的内部断言的方法。考虑以下结构

@WebTest
@Test(groups = {"main_feature"} )
public void Check_Home_page () {
    flow.login();  //Inside login() we do assertion to find login was successful
    flow.ValidateProfilePic(); //Inside ValidateProfilePic() we do assertion to find picture section is available
}

我们将按如下方式运行xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Smoke Result" parallel="false" thread-count="0">
<parameter name="seleniumHub" value="false" />
<parameter name="hubUrl" value="http://someurl:1144/wd/hub" />

<test name="Test Run">
    <parameter name="webPageUrl" value="http://mttesting.com" />
    <parameter name="browser" value="chrome" />
    <groups>
        <run>
            <include name="main_feature" />
        </run>
    </groups>
    <classes>
        <class name="test.HomeTest" />
    </classes>
</test>

<listeners>
    <listener class-name="selenium.DefaultCapability"></listener>
    <listener class-name="selenium.WebCapability"></listener>
    </listeners>
</suite>

一旦执行结束,在报表we should中就可以看到

  • 测试用例运行:2,失败:0 Check_Home_page

  • 登录(通过)

  • ValidateProfilePic(通过)

现在,当我跑步时,我得到Testcase Run : 1,并且内部断言(我不知道该怎么称呼)根本不在画面中。

如果有实现此目标的方法,请提出建议。

java selenium testng report assertion
1个回答
0
投票

我能理解你想说什么。在TestNg中,@Test表示1个测试用例。您期望如果在一个@Test方法/测试用例中对2个功能进行断言,它将在Result中显示为测试用例中的2个。这不是真的。

Testng或其他测试框架无法根据您所应用的断言数量起作用。他们看到我们有多少@Test个方法。

让我们来解决。您可以将您的一个测试用例划分为两个测试用例,如下所示,并对每个应用特定的断言。标准做法是@Test应该只包含一个断言。请看下面的代码:

测试-1:

@Test(groups = {"main_feature"} )
public void testHomePage () {
    flow.login();  //we do assertion to find login was successful
}

Test -2:

@Test(groups = {"main_feature"} )
public void testProfilePicture () {
    flow.login();  // I think login is required to access Profile Picture and not necessary to apply assertion again here. As we have separate test case for it.
    flow.ValidateProfilePic(); //we do assertion to find picture section is available
}

我希望它会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.