Некоторые тесты не выполняются, но выполняются нормально, если они выполняются индивидуально - PullRequest
0 голосов
/ 11 января 2019

Я пытаюсь запустить 2 класса через файл testng.xml. Всего нужно запустить от 5 до 6 методов. Но когда я выполняю с testng.xml, запускается всего 3 теста. Но когда я провожу индивидуальный урок, он работает отлично.

Класс: SmartRetrievePageTest.java

package tests;

import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

import base.BrowserFactory;
import helper.DriverOperations;
import pages.HomePage;
import pages.LoginPage;
import pages.SmartRetrievePage;
import testbase.TestBase;

public class SmartRetrievePageTest extends TestBase {


    LoginPage loginPage;
    HomePage homePage;
    SmartRetrievePage smartretrievePage;

    public SmartRetrievePageTest()
    {
        super();
    }

    @BeforeMethod(groups = { "SmartRetrieve" })
    public void setUp() throws Exception {
        BrowserFactory.launchApplication(prop.getProperty("Browser"), prop.getProperty("URL"));
        loginPage = new LoginPage();
        smartretrievePage = new SmartRetrievePage();
        homePage =  loginPage.login(prop.getProperty("UserName"),prop.getProperty("Password")); 
        Thread.sleep(2000);
        //smartDepositPage = homePage.clickDepositLink();
        DriverOperations.expandTopNavigationMenuAndPerformNavitation("Select application", "SmartRetrieve");
        Thread.sleep(3000);

    }

    @Test(priority = 1, groups = { "SmartRetrieve" })
    public void QuickSearch() throws Throwable {
        smartretrievePage.QuickSearching(prop.getProperty("QuickSearchKeyword"));
        //smartretrievePae.QuickSearching("adm");
        Thread.sleep(3000);

    }
    @Test(priority = 2, groups = { "SmartRetrieve" }, alwaysRun=true)
    public void AdvSearch() throws Throwable {
        smartretrievePage.AdvanceSearching(prop.getProperty("AdvanceSearchkeyword"));
        Thread.sleep(3000);


    }
    @Test(priority = 3, groups = { "SmartRetrieve" }, alwaysRun=true)
    public void SimpleSaveSearch() throws Throwable {
        smartretrievePage.sipmleSaveSearch(prop.getProperty("AdvanceSearchkeyword"),prop.getProperty("SearchName"));
        Thread.sleep(3000);

    }


    @AfterMethod(groups = { "SmartRetrieve" })
    public void tearDown() throws Exception{
        DriverOperations.logOut();
    }

}

Класс: SmartRetrievePage.java

package pages;

import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;

import base.BrowserFactory;
import helper.DriverOperations;

public class SmartRetrievePage extends BrowserFactory{


    //here are findElemtnts 


    public SmartRetrievePage()
    {
        PageFactory.initElements(driver, this);
    }



    public void QuickSearching(String keyword) throws InterruptedException
    {
        DriverOperations.clearFieldAndEnterStringData(quickSearch, keyword);
        DriverOperations.clickWhenElementIsClickable(ShowResultQuickSearch);
        Thread.sleep(3000);
        //return new SmartRetrievePage();
    }

    public void AdvanceSearching(String SearchValue) throws InterruptedException
    {
        DriverOperations.selectDropdownOptionByVisibleText(RetrieveDocumentType, "inv_header");
        DriverOperations.clearFieldAndEnterStringData(Searchvalue, SearchValue);
        DriverOperations.clickWhenElementIsClickable(ShowResult);
        Thread.sleep(3000);


    }

    public void sipmleSaveSearch(String SearchValue, String searchName) throws InterruptedException
    {
        DriverOperations.selectDropdownOptionByVisibleText(RetrieveDocumentType, "inv_header");
        DriverOperations.clearFieldAndEnterStringData(Searchvalue, SearchValue);
        DriverOperations.clickWhenElementIsClickable(SaveSearchButton);
        DriverOperations.clearFieldAndEnterStringData(SearchName, searchName);
        DriverOperations.clickWhenElementIsClickable(SaveSearch);
        Thread.sleep(3000);
    }

}

Точно так же существуют классы SmartRetentionPageTest.java и SmartRetentionPage.java. Ниже приведен файл testng.xml.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >

<suite name="Smoke testSuite" >
    <test name="Smoke test" > 

        <groups>

            <run>

                <include name="SmartRetrieve" />
                <include name="SmartRetention" /> 
            </run>
        </groups>

        <classes>

            <class name="tests.SmartRetrievePageTest" />
            <class name="tests.SmartRetentionPageTest" /> 
        </classes>

    </test>
</suite>

1 Ответ

0 голосов
/ 11 января 2019

Та же проблема, но я решил ее так:

  • Я разделил свой комплект TestNG на два теста, как показано ниже

    <test name="Smoke test1" > 
        <groups>
            <run>
                <include name="SmartRetrieve" />
            </run>
        </groups>
            <classes>
                <class name="tests.SmartRetrievePageTest" /> 
            </classes>
        </test>
    
    <test name="Smoke test2" > 
            <groups>
                <run>
                    <include name="SmartRetention" /> 
                </run>
            </groups>
            <classes>
                <class name="tests.SmartRetentionPageTest" /> 
            </classes>
        </test>
    
    </suite>
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...