testng知识

来源:互联网 发布:淘宝店自动回复短语 编辑:程序博客网 时间:2024/06/05 03:20

安装TestNG

1.      Eclipse菜单栏Help—Install New Software—弹出的框内点击Add—弹出的框内:

{Name:TestNG

Location:http://beust.com/eclipse/}--next--finish

2.      选中某个java工程,右键,有testNG选项即安装成功

查看输出的HTML格式的测试报告

1.在该工程的目录下test-output----emailable-report.html文件   以及可查看index.html

TestNG常用注解

1.      Test Suite 由一个或者多个Test组成

2.      Test 由一个或者多个class组成

3.      一个class由一个或者多个测试方法组成

<suite>

        <test>

             <classes>

                                   <method>

                                   </method>

        </classes>

        </test>

 

</suite>

4.@BeforeSuite         注解的方法将只运行一次,在当前测试集合(Suite)中所有测试用例开始运行之前执行。
@AfterSuite           注解的方法将只运行一次,在当前测试集合(Suite)中所有测试用例运行结束之后执行。

@BeforeTest          注解的方法将在Test中所有测试用例开始运行之前执行。
@AfterTest             注解的方法将在Test中所有测试用例运行结束之后执行。

@BeforeGroups    注解的方法将在分组测试用例的所有测试用例开始运行之前执行。
@AfterGroups        注解的方法将在分组测试用例的所有测试用例运行结束之后执行。

@BeforeClass       注解的方法将在当前测试类(class)的第一个测试方法开始调用前执行。
@AfterClass          注解的方法将在当前测试类(class)的所有测试用例运行结束之后执行。

@BeforeMethod    注解的方法将在每个测试方法开始运行前运行。
@AfterMethod       注解的方法将在每个测试方法运行结束之后执行。

@DataProvider     提供数据的一个测试方法。注解的方法必须返回一个Object[] [],其中每个对象[]的测试方法的参数列表中可以分配。该@Test 方法希望从这个DataProvider的接收数据,需要使用一个dataProvider名称等于这个注解的名字。               
@Factory             返回TestNG测试类的对象将被用于标记的方法。该方法必须返回Object[]。
@Listeners           定义一个测试类的监听器。
@Parameters       介绍如何将参数传递给@Test方法。
@Test                 标记一个测试方法(测试用例)

5.每个含有注解的类方法如果被调用,均会打印出对应的注解含义,从执行的结果可以分辨出不同的注解方法会在何时调用

注解集合

1.      通过testng.Xml 可以多个测试用例的不同组合

测试用例的分组

1.      用注解@Test(groups={“人”})

2.      @Test(groups={“aa”,”bb”})

依赖测试

用注解@Test(dependsOnMethods={“方法名”})  即下面的类方法在该方法名之后执行

特定顺序执行测试用例

用注解@Test(priprity=0/1/2)

跳过某个测试方法

用注解@Test(enabled=false)

测试报告中的自定义日志

代码:Reporter.log(“日志内容”)

断言:

(1)assertTrue:判断是否为True。

(2)assertFalse:判断是否为false。

(3)assertSame:判断引用地址是否相同。

(4)assertNotSame:判断引用地址是否不相同。

(5)assertNull:判断是否为null。

(6)assertNotNull:判断是否不为null。

(7)assertEquals:判断是否相等,Object类型的对象需要实现haseCode及equals方法。

(8)assertNotEquals:判断是否不相等。

(9) assertEqualsNoOrder:判断忽略顺序是否相等。

页面元素的定位方法

Webdriver对象的findElement函数可用于定位一个页面元素,findElements函数可用于定位多个页面元素,定位到的页面元素需使用WebElement对应进行存储

定位方法

Java语言实现实例

id 定位

driver.findElement(By.id(“id的值”));

name定位

driver.findElement(By.name(“name的值”));

链接的全部文字定位

driver.findElement(By.linkText(“链接的全部文字”));

链接的部分文字定位

driver.findElement(By.partialLinkText(“链接的部分文字”));

css 方式定位

driver.findElement(By.cssSelector(“css表达式”));

xpath 方式定位

driver.findElement(By.xpath(“xpath表达式”));

Class 名称定位

driver.findElement(By.className(“class属性”));

TagName 标签名称定位

driver.findElement(By.tagName(“标签名称”));

Jquery方式

Js.executeScript(“return jQuery.find(“jquery表达式”)”)

原创粉丝点击