2016-10-31 2 views
0

5 개의 테스트 패키지를 실행 한 후 테스트 클래스가 발견되었습니다.라는 메시지가 나타납니다.5 개의 테스트 패키지를 실행 한 후 테스트 클래스가 발견되었습니다.

5 개의 테스트 패키지를 실행하려고하면 "테스트를 찾을 수 없습니다."라는 오류 메시지가 나타납니다. (TestNG)

0 test classes found in package 'smoketest' 

Process finished with exit code 255 
Empty test suite. 

기초 패키지가 잘 실행됩니다. 그러나 "smoketest"는 0 개의 테스트 클래스를 반환합니다.

packages

modules

package smoketest; 


import com.pageobjects.*; 
import config.AndroidGestures; 
import config.DesiredCapabilitiesSetup; 
import config.LogIn; 
import io.appium.java_client.android.AndroidDriver; 
import io.appium.java_client.android.AndroidElement; 
import io.appium.java_client.pagefactory.AppiumFieldDecorator; 

import org.openqa.selenium.support.PageFactory; 
import org.testng.annotations.AfterClass; 
import org.testng.annotations.BeforeClass; 
import org.testng.annotations.Test; 
import org.testng.asserts.SoftAssert; 


public class CardManagementTest { 
    private AndroidDriver<AndroidElement> driver; 

    private AOWebClient aoWeb; 

    @SuppressWarnings("unused") 
    public CardManagementTest(AndroidDriver<AndroidElement> driver, AOWebClient aoWeb) { 
     this.driver = driver; 
     this.aoWeb = aoWeb; 
     PageFactory.initElements(new AppiumFieldDecorator(driver), this); 
    } 

    @SuppressWarnings("unused") 
    public CardManagementTest() { 
    } 

    @BeforeClass 
    public void setUp() throws Exception { 
     driver = DesiredCapabilitiesSetup.startAppiumServer(); 
    } 

    @Test 
    public void cardManagementTest() throws InterruptedException { 
     SoftAssert softAssert = new SoftAssert(); 
     AOWebClient aoWebClient = DesiredCapabilitiesSetup.getAOWeb(); 
     HamburgerMenuList ham = new HamburgerMenuList(driver,aoWeb); 
     ProfileInfoScreen profile = new ProfileInfoScreen(driver); 
     CardManagementScreen card = new CardManagementScreen(driver, aoWeb); 
     LogIn logIn = new LogIn(driver, aoWebClient); 
     HeaderMenu header = new HeaderMenu(driver, aoWeb); 
     AndroidGestures gesture = new AndroidGestures(driver); 

     String month = "Aug"; 
     String year = "2020"; 
     String cardNumber = "4444333322221111"; 
     String cvv = "123"; 
     String expectedCardLastDigits = cardNumber.substring(12); 

     logIn.loginWithYourCredentials("[email protected]", "testtest"); 
     header.clickHamburgerButton(); 
     ham.waitForHamMenuScreentoLoad(); 
     ham.accountButtonClick(); 
     profile.waitForProfileScreenToLoad(); 
     profile.cardManagementClick(); 
     card.waitForCardManagementScreenToLoad(); 
     softAssert.assertTrue(card.noSavedCardLabelAppear(), "No saved Card Label Does Not Appear"); 
     card.setAddCardButtonClick(); 
     card.cardNumberInput(cardNumber); 
     card.cardExpClick(); 
     card.monthPickerWheel.click(); 
     card.selectAugustMonth(); 
     card.yearPickerWheel.click(); 
     card.selectYear2020(); 
     card.dateSubmitButton.click(); 
     card.cardCVVClick(); 
     card.cardCVVInput(cvv); 
     card.cardSaveClick(); 
     card.waitForCardManagementScreenToLoad(); 
     softAssert.assertEquals(card.creditCardGetLast4Digits(), expectedCardLastDigits, "Actual Credit Card and Expected Credit card numbers are not the same"); 
     //Assertion that Credit Card was added 4 last digits 
     card.deleteCreditCardButtonClick(); 
     //Assertion that "Delete this saved card" message appear 
     softAssert.assertTrue(card.confirmDeleteLabelAppear(), "Delete confirmation screen did not appear"); 
     card.cancelDeleteCardButtonClick(); 
     softAssert.assertEquals(card.creditCardGetLast4Digits(), expectedCardLastDigits, "Actual Credit Card and Expected Credit card numbers are not the same"); 
     card.deleteCreditCardButtonClick(); 
     card.confirmdeleteCardButtonClick(); 
     card.waitForNoSavedCardLabelLoad(); 
     softAssert.assertTrue(card.noSavedCardLabelAppear(), "No saved Card Label Does Not Appear"); 
     header.backButtonClick(); 
     profile.waitForProfileScreenToLoad(); 
     softAssert.assertTrue(profile.profileScreenAppear(), "Profile View Page Does Not Appear"); 
     softAssert.assertAll(); 
    } 

    @AfterClass 
    public void tearDown() throws Exception { 
     driver.closeApp(); 
     driver.quit(); 
    } 
} 

Gradle을 :

group 'ao-core-android' 
version '1.0-SNAPSHOT' 


apply plugin: 'java' 

sourceCompatibility = 1.5 


test { 
    useTestNG { 
     suites 'testng.xml' 
    } 
} 


repositories { 
    mavenCentral() 
    jcenter() 

} 

dependencies { 
    //testCompile group: 'junit', name: 'junit', version: '4.11' 
    //compile 'org.testng:testng:6.9.10' 
    compile 'org.testng:testng:6.9.12' 
    //compile 'org.testng:testng:6.9.10' 
    compile 'io.appium:java-client:4.0.0' 
    compile 'org.seleniumhq.selenium:selenium-java:2.53.1' 
    compile 'com.android.tools.build:gradle:1.1.0' 
    compile fileTree(dir: 'externalLibs', include: ['*.jar']) 
    compile files('./lib-test-tools-1.4.0.jar') 
} 

TestNG.xml

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > 
<suite name="Smoke Test"> 
    <listeners> 
     <listener class-name="config.CustomLogger" /> 
    </listeners> 
    <test name="SmokeTest"> 
     <packages> 
      <package name="smoketest"/> 
     </packages> 
    </test> 
</suite> 
+0

테스트 클래스 코드를 표시하십시오. –

+0

테스트 메소드에'@ Test' 주석을 달았습니까? –

+0

테스트 클래스 코드를 추가했습니다. – Anton

답변

0
<test name="Email"> 
    <classes> 
    <class name="<package name>.<class name>"/> 
    </classes> 
</test> 
,617,

위의 것과 비슷하게 클래스를 테스트 내부에 두어야 만 테스트 슈트 만 실행됩니다.

관련 문제