博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TestNG入门
阅读量:5060 次
发布时间:2019-06-12

本文共 3401 字,大约阅读时间需要 11 分钟。

selenium IDE录制脚本,可以导出TestNG java脚本,今天跑起来试一下,还挺好用的。

1、首先intellij idea创建项目导入这三个jar包

2、用selenium IDE录制脚本导出java脚本。

3、在intellij idea中创建一个class,把脚本复制进去

TestcaseLogin.java

1 package com.tgb.test; 2 import java.util.concurrent.TimeUnit; 3 import org.testng.annotations.*; 4 import static org.testng.Assert.*; 5 import org.openqa.selenium.*; 6 import org.openqa.selenium.firefox.FirefoxDriver; 7  8 public class TestcaseLogin { 9 private WebDriver driver;10 private String baseUrl;11 private boolean acceptNextAlert = true;12 private StringBuffer verificationErrors = new StringBuffer();13 14 @BeforeClass(alwaysRun = true)15 public void setUp() throws Exception {16         driver = new FirefoxDriver();17         baseUrl = "https://haiyan.51ping.com";18         driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);19         }20 21 @Test22 public void test11() throws Exception {23         driver.get(baseUrl);24         driver.findElement(By.id("username")).clear();25         driver.findElement(By.id("username")).sendKeys("alisa.zhao");26         driver.findElement(By.id("password")).clear();27         driver.findElement(By.id("password")).sendKeys("Ceshi123");28         driver.findElement(By.xpath("(//input[@name='_eventId_submit'])[2]")).click();30         }31 32 @AfterClass(alwaysRun = true)33 public void tearDown() throws Exception {34         driver.quit();35         String verificationErrorString = verificationErrors.toString();//是否有错误信息36         if (!"".equals(verificationErrorString)) {37         fail(verificationErrorString);//将错误信息输出38         }39         }40 //下边这三个方法都是selenium ide自动生成的,目前还没发现有什么作用41 private boolean isElementPresent(By by) {42         try {43         driver.findElement(by);44         return true;45         } catch (NoSuchElementException e) {46         return false;47         }48         }49 50 private boolean isAlertPresent() {51         try {52         driver.switchTo().alert();53         return true;54         } catch (NoAlertPresentException e) {55         return false;56         }57         }58 59 private String closeAlertAndGetItsText() {60         try {61         Alert alert = driver.switchTo().alert();62         String alertText = alert.getText();63         if (acceptNextAlert) {64         alert.accept();65         } else {66         alert.dismiss();67         }68         return alertText;69         } finally {70         acceptNextAlert = true;71         }72         }73         }

4、运行TestNG

testng.xml

//verbose是详细程度,10是最详细

直接运行xml就可以了

5、TestNG的基础

注解 描述
@BeforeSuite 注解的方法将只运行一次,运行所有测试前此套件中。
@AfterSuite 注解的方法将只运行一次此套件中的所有测试都运行之后。
@BeforeClass 注解的方法将只运行一次先行先试在当前类中的方法调用。
@AfterClass 注解的方法将只运行一次后已经运行在当前类中的所有测试方法。
@BeforeTest 注解的方法将被运行之前的任何测试方法属于内部类的 <test>标签的运行。
@AfterTest 注解的方法将被运行后,所有的测试方法,属于内部类的<test>标签的运行。
@BeforeGroups 组的列表,这种配置方法将之前运行。此方法是保证在运行属于任何这些组第一个测试方法,该方法被调用。
@AfterGroups 组的名单,这种配置方法后,将运行。此方法是保证运行后不久,最后的测试方法,该方法属于任何这些组被调用。
@BeforeMethod 注解的方法将每个测试方法之前运行。
@AfterMethod 被注释的方法将被运行后,每个测试方法。
@DataProvider
标志着一个方法,提供数据的一个测试方法。注解的方法必须返回一个Object[] [],其中每个对象[]的测试方法的参数列表中可以分配。
该@Test 方法,希望从这个DataProvider的接收数据,需要使用一个dataProvider名称等于这个注解的名字。
@Factory 作为一个工厂,返回TestNG的测试类的对象将被用于标记的方法。该方法必须返回Object[]。
@Listeners 定义一个测试类的监听器。
@Parameters 介绍如何将参数传递给@Test方法。
@Test 标记一个类或方法作为测试的一部分。

转载于:https://www.cnblogs.com/dudu234/p/5148650.html

你可能感兴趣的文章
JavaScript 克隆数组
查看>>
eggs
查看>>
一步步学习微软InfoPath2010和SP2010--第七章节--从SP列表和业务数据连接接收数据(4)--外部项目选取器和业务数据连接...
查看>>
如何增强你的SharePoint 团队网站首页
查看>>
FZU 1914 Funny Positive Sequence(线性算法)
查看>>
oracle 报错ORA-12514: TNS:listener does not currently know of service requested in connec
查看>>
基于grunt构建的前端集成开发环境
查看>>
MySQL服务读取参数文件my.cnf的规律研究探索
查看>>
java string(转)
查看>>
__all__有趣的属性
查看>>
写博客
查看>>
利用循环播放dataurl的视频来防止锁屏:NoSleep.js
查看>>
python3 生成器与迭代器
查看>>
java编写提升性能的代码
查看>>
ios封装静态库技巧两则
查看>>
Educational Codeforces Round 46 (Rated for Div. 2)
查看>>
Abstract Factory Pattern
查看>>
C# 实现Bresenham算法(vs2010)
查看>>
基于iSCSI的SQL Server 2012群集测试(一)--SQL群集安装
查看>>
list 容器 排序函数.xml
查看>>