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表达式”)”)
- testng知识
- TestNG
- testng
- testng
- TestNG
- TestNG
- TestNG
- TestNG
- testng
- TestNG
- testNG
- TestNG
- Selenium Java自动化测试学习知识积累-TestNG
- TestNG 五 运行TestNG
- testNG--testNG installation
- TestNG-TestNG annotations
- TestNG配置testng.xml
- 关于TestNG
- mybatis注解详解
- 【菜鸟福利】Linux入门到精通
- Leetcode文章模板
- CSS(2)__CSS基本用法<背景,文字排版>
- spring aop原理解析
- testng知识
- Docker基础学习
- Python写入文件时报错: 'ascii' codec can't decode byte 0xe6 in position 55: ordinal not in range(128)
- pcm数据采样率8k转为16k
- Python3之 变量的赋值扩展
- hibernate.cfg.xml与*.hbm.xml
- StoryBoard中Autolayout约束UIScrollView
- ArcGIS Engine类库
- java小程序