TestNG类将使用默认模式创建
场景:
启动浏览器,打开“Gmail.com”。
验证页面标题并打印验证结果。
输入用户名和密码。
单击登录按钮。
关闭web浏览器。
package TestNG;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.Test;
public class DemoTestNG {
public WebDriver driver = new FirefoxDriver();
String appUrl = "https://accounts.google.com";
@Test
public void gmailLogin() {
// launch the firefox browser and open the application url
driver.get("https://gmail.com");
// maximize the browser window
driver.manage().window().maximize();
// declare and initialize the variable to store the expected title of the webpage.
String expectedTitle = " Sign in - Google Accounts ";
// fetch the title of the web page and save it into a string variable
String actualTitle = driver.getTitle();
Assert.assertEquals(expectedTitle,actualTitle);
// enter a valid username in the email textbox
WebElement username = driver.findElement(By.id("Email"));
username.clear();
username.sendKeys("TestSelenium");
// enter a valid password in the password textbox
WebElement password = driver.findElement(By.id("Passwd"));
password.clear();
password.sendKeys("password123");
// click on the Sign in button
WebElement SignInButton = driver.findElement(By.id("signIn"));
SignInButton.click();
// close the web browser
driver.close();
}
}
|
代码解释:
1)@Test是TestNG注释之一。这个注释让程序知道标注为@Test的方法是一个测试方法。为了能够使用不同的TestNG注释,我们需要导入包“import org.testng.annotations.*”。
2)使用TestNG创建测试脚本时不需要main()方法。程序的执行是在注释的基础上完成的。
3)在语句中,我们在比较预期值和实际值时使用Assert类。Assert类用于执行各种验证。为了能够使用不同的类,我们需要导入“import org.testng.Assert”。
五.执行TestNG脚本
在代码区任意地方右键,或者java包上右键选择“Run As”选项,点击“TestNG Test”运行
TestNG结果在两个窗口显示
控制台窗口
TestNG结果窗口
六.HTML报告
TestNG具有生成用户可读和可理解的HTML报告的强大功能。这些报告可以在任何浏览器中查看,也可以使用Eclipse的内置浏览器支持来查看。
生成步骤:
步骤1:执行新创建的TestNG类。右键单击包含TestNG类的项目,选择“Refresh”选项刷新
步骤2:在“src”文件夹级别生成一个名为“test-output”的文件夹,展开“test-output”文件夹,用Eclipse浏览器打开“email -report”, HTML文件显示最近执行的结果。
步骤3:HTML报告在eclipse环境中打开,请参阅下图
七.在TestNG中设置优先级
示例:
package TestNG;
import org.testng.annotations.*;
public class SettingPriority {
@Test(priority=0)
public void method1() {
}
@Test(priority=1)
public void method2() {
}
@Test(priority=2)
public void method3() {
}
}
|
八.代码走查
如果测试脚本由多个测试方法组成,则可以使用TestNG注释“@Test”并通过设置“priority”参数的值来设置执行优先级和顺序。
在上面的代码片段中,所有方法都用 @Test标注,优先级设置为0、1和2。因此测试方法的执行顺序为:
Method1
Method2
Method3
支持注解
TestNG和JUnit中提供了许多注释。很小的区别在于TestNG为JUnit提供了一些更高级的注释。
九.TestNG的注释
以下是TestNG中最有用的注释:
十.总结
通过本文,我们熟悉了一个基于java的TestNG测试框架。从框架的安装开始,接着讨论了脚本创建和高级主题。我们讨论了TestNG提供的所有注释,并使用注释和断言语句实现并执行了第一个TestNG测试脚本。
总结
TestNG是一个有利于开发和测试使用的高级框架
TestNG是一个开源框架,它是在Apache软件许可下发布的,可以随时下载
TestNG因为具有高级的特性,所以被认为优于Junit
TestNG特征:
支持注解
不需要创建测试套件的高级执行方法
支持参数化
支持使用数据提供者进行数据驱动测试
为测试方法设置执行优先级
为执行多线程时提供安全环境
随时支持与各种工具和插件的集成,如构建工具(Ant、Maven等)、集成开发环境(Eclipse)。
为用户使用ReportNG生成报表提供了有效的方法
TestNG相对JUnit的优点
增加了先进和容易的注释
可以设置执行模式
测试脚本的并发执行
可以设置测试用例依赖项
TestNG是免费的,可以使用Eclipse Market很容易地安装在Eclipse IDE中。
安装之后,TestNG将作为Eclipse环境中的一个库可用。
创建一个新的Java项目,并使用TestNG库配置构建路径。
通过展开“Demo TestNG”项目,选择 “src”文件夹,右键单击“src”包导航到New -> Other。
@Test是TestNG提供的注释之一。为了能够使用不同的TestNG注释,我们需要导入包“import org.testng.annotations.*”。
在使用TestNG创建测试脚本时不需要main()方法。
我们在比较预期值和实际值时使用Assert类。Assert类用于执行各种验证。为了能够使用不同的断言,我们需要导入“import org.testng.Assert”。
如果测试脚本由多个测试方法组成,则可以使用TestNG注释“@Test”并通过设置“priority”参数的值来设置执行优先级和顺序。
TestNG能够生成测试执行报告。报告可以在任何浏览器中查看,也可以使用Eclipse的内置浏览器支持来查看。
版权声明:本文出自51Testing原创,51Testing软件测试网及相关内容提供者拥有内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。