基于Appium的Android自动化测试(二)——TestNG

基于Appium的Android自动化测试(二)——TestNG,第1张

TestNG介绍

TestNG意为test next generation,是Java中的一个测试框架,Java中已经有一个JUnit的测试框架,类似于JUnit和NUnit,但TestNG比JUnit功能更加强大,使用也更方便,测试人员一般用TestNG来写自动化测试。

TestNG最简单的测试

下面是TestNG的一个例子

packageTankLearn2Learn;

importorgjunitAfterClass;

importorgjunitBeforeClass;

importorgtestngannotationsTest;

publicclassTestNGLearn1{

@BeforeClass

publicvoidbeforeClass(){

Systemoutprintln("this is before class");

}

@Test

publicvoidTestNgLearn(){

Systemoutprintln("this is TestNG test case");

}

@AfterClass

publicvoidafterClass(){

Systemoutprintln("this is after class");

}

}

TestNG的基本注解

注解 描述

@BeforeSuite 注解的方法将只运行一次,运行所有测试前此套件中。

@AfterSuite 注解的方法将只运行一次,此套件中的所有测试都运行之后。

@BeforeClass 注解的方法将只运行一次先行先试在当前类中的方法调用。

@AfterClass 注解的方法将只运行一次后已经运行在当前类中的所有测试方法。

@BeforeTest 注解的方法将被运行之前的任何测试方法属于内部类的标签的运行。

@AfterTest 注解的方法将被运行后,所有的测试方法,属于内部类的标签的运行。

@BeforeGroups 组的列表,这种配置方法将之前运行。此方法是保证在运行属于任何这些组第一个测试方法,该方法被调用。

@AfterGroups 组的名单,这种配置方法后,将运行。此方法是保证运行后不久,最后的测试方法,该方法属于任何这些组被调用。

@BeforeMethod 注解的方法将每个测试方法之前运行。

@AfterMethod 被注释的方法将被运行后,每个测试方法。

@DataProvider 标志着一个方法,提供数据的一个测试方法。注解的方法必须返回一个Object[] [],其中每个对象[]的测试方法的参数列表中可以分配。

该@Test方法,希望从这个DataProvider的接收数据,需要使用一个dataProvider名称等于这个注解的名字。

@Listeners 定义一个测试类的监听器。

@Parameters 介绍如何将参数传递给@Test方法。

@Test 标记一个类或方法作为测试的一部分。

TestNG组测试

在编写测试的过程中,经常遇到只想执行个别或者某一部分/某一类型的测试用例,TestNG提供了分组测试方法,可以按组来执行测试用例。

packageTankLearn2Learn;

importorgtestngannotationsTest;

publicclassGroupTest{

@Test(groups = {"systemtest"})

publicvoidtestLogin(){

Systemoutprintln("this is test login");

}

@Test(groups = {"functiontest"})

publicvoidtestOpenPage(){

Systemoutprintln("this is test Open Page");

}

}

TestNG依赖测试

有时,我们需要按顺序来调用测试用例,测试用例之间存在依赖关系,TestNG支持测试用例之间的依赖。

importorgopenqaseleniumWebElement;

importorgtestngAssert;

importorgtestngannotationsTest;

importpage;

importutilAppiumTest;

importjavautilList;

importstaticutilHelpers;

@Test

publicvoidmethod1()

{

BookMarkEditPage bookMarkPageEdit =newBookMarkEditPage();

bookMarkPageEditaddPoiToBookMark("清华东路西口");

AssertassertTrue(bookMarkPageEditverifyAddPoiToBookMark("清华东路西口"),"添加poi点失败");

Systemoutprintln("This is method 1");

}

@Test(dependsOnMethods = {"method1"})

publicvoidmethod2(){

BookMarkCommonPage bookMarkCommonPage =newBookMarkCommonPage();

bookMarkCommonPagedeleteAllItems();

AssertassertTrue(bookMarkCommonPageisDisplayed("你还没有添加收藏"),"删除失败!");

Systemoutprintln("This is method 2");

}

TestNG忽略测试

当测试用例还没准备好时,可以给测试用例加上@Test(enable = false), 来禁用此测试用例。

packageTestng;

importorgjunitAfterClass;

importorgjunitBeforeClass;

importorgtestngannotationsAfterMethod;

importorgtestngannotationsBeforeMethod;

importorgtestngannotationsTest;

publicclassLtg{

@BeforeMethod

publicvoidbeforeMethod(){

Systemoutprintln("this is before method");

}

@Test(enabled =false)

publicvoidTestNgLearn1(){

Systemoutprintln("this is TestNG test case 1");

}

@Test

publicvoidTestNgLearn2(){

Systemoutprintln("this is TestNG test case 2");    }

@AfterMethod

publicvoidafterMethod(){

Systemoutprintln("this is after method");

}

}

TestNg执行顺序

BeforeMethod/AfterMethod会在每个方法中调用一次,这种适用场所,比如执行完第一个用例之后要重置数据才能执行第二条用例时,可以用这种方式,BeforeMethod 就放重置数据的方法,让每个方法执行之前都去调用这个方法

TestNG具体生命周期

TestNg特点

1、annotations注释,如@test @BeforeMethod ;

2、支持多线程执行case ;

3、支持数据驱动dataProvider ;

4、支持参参数 ;

5、能够作为eclipse的插件 ;

6、能够(配合reportng)生产客观的测试报告 ;

7、可通过testngxml管理执行case和suite;

TestNG suite

testngxml文档中最上层的元素

说明:一个xml文件只能有一个,是一个xml文件的根级

由和组成

suite定义一个测试套件,可以设置是否使用多线程,可包含多个测试用例或者测试group。

testngxml 配置详解

简单的大概结构如下:

以下详细XML规则

-结-构-树

suite

–tests

—-parameters

—-groups

——definitions

——runs

—-classes

–parameters

比较详细的结构如下:

美团酒店POIID是美团系统中给商家门店设置id进行唯一标识。

POI指的是Point of Information,即地图上的位置信息,这是美团的一大优势,是美团基于地图定位信息最核心的商家数据。

loop1: for(int q=1;q<=9;q++){

loop2: for(int b=0;b<=9;b++){

if(b%2==0){

continue loop2;

}

以上就是关于基于Appium的Android自动化测试(二)——TestNG全部的内容,包括:基于Appium的Android自动化测试(二)——TestNG、美团酒店POIID怎么看、java 读取 2003 word 新建的没问题,读取在智联下载的就不行,验证过是里面号线包含html代码,这样就失败等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9462480.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存