首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Junit-5测试执行顺序

Junit-5测试执行顺序
EN

Stack Overflow用户
提问于 2019-09-23 20:58:39
回答 1查看 45关注 0票数 0

我正在编写自动化脚本,以在真实设备上测试iOS应用程序。我使用的是appium服务器。我有一些与Junit测试用例执行相关的问题。我之前用@order()注释写了9个测试方法。如1->9。我将服务器功能放在第一个测试方法中。直到9个方法的执行都很顺利。但是当我写10,11和12方法的时候。执行从第10个方法开始。10->11->12->1->依此类推直到9点。

下面是代码

代码语言:javascript
复制
class TesClass {
 String appiumPort ="4723";
 String serverIp ="0.0.0.0";
 static IOSDriver<IOSElement> driver;
 LoginPage lPage=null;
 DesiredCapabilities cap;
 ProgrammesPage p_page=null;
 MainPage mPage=null;



 /*
  * Order is the priority of the test case
  * this is the first test case in this class
  * This is responsible for creating connection with the appium server
  * this sets basic capabilities and some advance capabilities 
  * to run the test cases on a real Ios device
  * 
  */
@Order(1)
@Test
void test() throws MalformedURLException  {
    cap= new DesiredCapabilities();


      cap.setCapability("deviceName", "Muhammad’s iPhone");
      cap.setCapability("platformName", "iOS");
      cap.setCapability("platformVersion","12.1.2");
      cap.setCapability("automationName", "XCUITest");
      cap.setCapability("app", "/Users/ahmsam/Downloads/MainApp-2.ipa");
      cap.setCapability("xcodeOrgId","BNL4VQ2576");
      cap.setCapability("xcodeSigningId","iPhone Developer");
      cap.setCapability("udid","240476512a6dd29a2f82fc8211ef4ea1bf6b5891");
     // cap.setCapability("udid","3c7ad82d510561a572d459cab855154cd578e3da");
      cap.setCapability("updateWDABundleId","5SN9XXLNWB.uk.org.humanfocus.WildCard.Dev");

      String serverUrl = "http://" + serverIp + ":" + appiumPort + "/wd/hub";
      driver = new IOSDriver<IOSElement>(new URL(serverUrl), cap);
      driver.manage().timeouts().implicitlyWait(55,TimeUnit.SECONDS);

      lPage=new LoginPage(driver);
      lPage.firstThreePopoClick();
      boolean check= lPage.validateLoginpage();

     // = lPage.loginTestCase();

     Assert.assertTrue(check);


     //fail("Not yet implemented");
}

 @Order(2)
 @Test
    void test1() 
    {
        lPage=new LoginPage(driver);

        boolean check1=lPage.TestdoLoginWIthValues();

        Assert.assertTrue(check1==true);

    }

 @Order(3)
 @Test
    void test3() 
    {
        lPage=new LoginPage(driver);

        boolean check1=lPage.loginTestCase();

        Assert.assertTrue(check1==true);

    }

 @Order(4)
 @Test
    void test4() 
    {
        lPage=new LoginPage(driver);

        boolean check1=lPage.TestGotoHomePage();

        Assert.assertTrue(check1==true);

    }

 @Order(5)
 @Test
    void test5() 
    {
        mPage=new MainPage(driver);


        boolean check1=mPage.goToTrainings();

        Assert.assertTrue(check1);

    }

 @Order(6)
 @Test
    void test6() 
    {
        p_page=new ProgrammesPage(driver);


        boolean check1=p_page.verifyProgramCode();

        Assert.assertTrue(check1);

    }

 @Order(7)
 @Test
    void test7() 
    {
        p_page=new ProgrammesPage(driver);
        boolean check1=p_page.verifyContinueBtnDisable();

        Assert.assertTrue(check1);

    }

 @Order(8)
 @Test
    void test8() 
    {
        p_page=new ProgrammesPage(driver);
        boolean check1=p_page.verifyVideoNextBtnDIsable();

        Assert.assertTrue(check1);

    }

 @Order(9)
 @Test
    void test9() throws InterruptedException 
    {
        p_page=new ProgrammesPage(driver);
        boolean check1=p_page.verifyWatchView_ClickonNextBtn();

        Assert.assertTrue(check1);

    }

 @Order(10)
 @Test
    void test10() 
    {
        p_page=new ProgrammesPage(driver);
        boolean check1=p_page.verifyDocumentPageNextButton();

        Assert.assertTrue(check1);

    }

 @Order(11)
 @Test
    void test11() 
    {
        p_page=new ProgrammesPage(driver);
        boolean check1=p_page.verifyViewDocument_NextBtn();

        Assert.assertTrue(check1);

    }

 @Order(12)
 @Test
    void test12() 
    {
        p_page=new ProgrammesPage(driver);
        boolean check1=p_page.verifyLastSectionName();

        Assert.assertTrue(check1);

    }

} enter image description here

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-24 22:37:34

使用@TestMethodOrder注释指定要使用的所需方法排序器实现,在本例中为OrderAnnotation。将此注释添加到您的测试类:@TestMethodOrder(MethodOrderer.OrderAnnotation.class)。像这样:

代码语言:javascript
复制
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;

@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
class TestClass {

    @Order(1)
    @Test
    void test() {
    ...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58063018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档