java assert使用场景_如何使用TestNG框架创建Selenium脚本

6dd3911ba0771eed428a2fd75bd64b2d.gif

点击上方蓝色字体,关注我们

在本文中,我们将讨论关于TestNG的所有特征和应用。

  TestNG在某种方式上对于开发者和测试者来说是一种更高级的测试框架,如果已经使用Junit框架的人来说,TestNG并没有什么高级的特征。JUnit在Java应用程序、Java开发人员和Java测试人员中很流行使用,很大程度上提高了代码质量。

  尽管JUnit是一个易于使用和简单明了的框架,但它也有自己的局限性,这就需要引入TestNG。TestNG是由一个名为“Cedric Beust”的著名程序员创建的。TestNG是一个开源框架,它是在Apache软件许可下发布的,可以随时下载。

  我们在WebDriver中引入TestNG的需求,是因为它提供了一种有效的测试结果格式,可以与大众共享,使我们可以了解产品/应用程序的健康状况,TestNG消除WebDriver无法生成测试报告的缺点。它有一个内置的异常处理机制,它允许程序在不意外终止的情况下运行。

  TestNG和JUnit都属于同一个单元框架系列,TestNG是JUnit的扩展版本,在当前环境下得到了更广泛的使用

  本文列表:

  • TestNG的特点

  • 在Eclipse中安装TestNG

  • 创建示例TestNG项目

  • 创建TestNG类

  • 执行TestNG脚本

  • HTML报告

  • 在TestNG中设置优先级

  • 代码走查

  • TestNG的注释:

  • 总结

一.TestNG的特点

  • 支持注释

  • 支持参数化

  • 不需要创建测试套件的高级执行方法

  • 根据数据提供者提供的数据进行数据驱动测试

  • 允许用户为测试方法设置执行优先级

  • 在执行多线程时提供安全的环境

  • 支持各种工具和插件的集成,如构建工具(Ant、Maven等)、集成开发环境(Eclipse)。

  • 为用户使用ReportNG生成报表提供了有效的方法

  TestNG与Junit对比:

  TestNG比JUnit有许多优点:

  • 高级且简单的注释

  • 可以设置执行模式

  • 测试脚本的并发执行

  • 可以设置测试用例依赖项

  • 在TestNG和JUnit中,注释前面都有一个“@”符号。

二.在Eclipse中安装TestNG

        根据下面的步骤在eclipse上下载和安装TestNG

  步骤一:启动eclipse IDE->点击菜单栏上的帮助选项->在下拉框中选择“Eclipse Marketplace..”选项

6a54b710f504136871b715982d29f21d.png

  步骤二 在搜索框输入关键词“TestNG”,点击go 按钮

dce2a07fab3acab575b27484689c93f8.png

  步骤三 当点击go 按钮后,显示匹配搜索的结果,点击install 按钮安装“TestNG”

448dc5b71a72b047e0ae0a1f79c81765.png

  步骤四 下载后会有一个弹出确认的弹窗,点击confirm确认

2d44dbd5a7a963f75645fe891ba419b0.png

  步骤五 接下来,应用会弹出接受license框,然后点击“Finish”按钮

  步骤六 开始安装,可以看见安装进度条

28af9b2504c0d89dfad888fd8a1312c3.png

  重启 eclipse

  重启后,点击菜单栏的“Window”选项下的“Preferences”来验证TestNG的安装。请参阅下图

fcf50ae3a49cc3843e24920f350452f5.png

ae36b996b2cbea5580a197c97f830f5f.png

三.创建TestNG项目示例

  步骤一 点击菜单栏的File-> new->java Project

618bc52e3b10099f753aaa3d520c5c7c.png

  步骤二 输入项目名称如“DemoTestNG”,点击”Next”按钮,点击“Finish”按钮,这样java 项目创建成功

69d993c7ce7912d13a84276994f07e9a.png

  步骤三 导入TestNG 目录到新创建的java 项目,单击Build Path下的“Libraries”选项卡,点击“Add library”。

c052579c30396a9e9a89a4b593363753.png

  步骤四  在弹出的对话框,选择TestNG,点击“Next”按钮,点击“完成”按钮。

7809051adf268ebf8e921f14f72bfad5.png

  现在TestNG已经加入到Java project 中,如下图

aa195618a8bd69164119ad7788c55845.png

  将下载的所有Selenium库和jar添加到项目的构建路径中。

四.创建TestNG类

  创建示例脚本

  步骤一 展开“Demo TestNG”项目,选择 “src”文件夹,右键单击“src”包导航到New -> Other。

358beb6c48624f7653d4bfde0f65b74c.png

  步骤二 打开TestNG选项,选择TestNG类选项,点击next 选项

872d1cca1fce6bded6220d086ae372bc.png

  步骤三 指定源文件夹、包名和TestNG类名,然后单击Finish按钮。

b0133b7b6def6cd4f8e3e7f08f1d9272.png

TestNG类将使用默认模式创建

6984abbc8add20d7492d93ac7fa7ffed.png

  场景:

  启动浏览器,打开“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”。

......

点击阅读原文查看全文

fd18a701406b93d2a1b843238d14cb35.png 推荐阅读

点击阅读☞只会用Selenium爬网页?Appium爬APP了解一下~

点击阅读☞Selenium测试框架篇|页面对象和元素对象的管理

点击阅读☞如何在Selenium项目中使用GeckoDriver?

点击阅读☞Selenium自动化测试框架之PO设计模式

点击阅读☞Python Selenium之数据驱动测试

阅读 全文,请点击下方“
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值