JUnit的断言 Assert

Posted 人类能走多远

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JUnit的断言 Assert相关的知识,希望对你有一定的参考价值。

何为 断言:
断言不仅仅是 一个报错函数,它也是一个宏,并且作用并非“报错”。

assert()的用法像是一种“契约式编程”,在我的理解中,它所表达的意思就是 程序在我的假设条件下,能够正常良好的运作,
其实就相当于一个if语句。
if(假设成立){
程序正常运行
}else{
报错或者终止程序! 避免由程序运行引起 更大的错误
}


它的用法总结以及注意事项:
1)、在函数开始处检验传入参数的合法性:
2)、每个断言Assert 只检验一个条件,因为同时检验多个条件时,如果断言失败,就无法确定是 哪个条件 导致失败:

ASSERT ()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0),
程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。这个宏通常原来判断程序中是否出现了明显非法的数据,
如果出现了终止程序以免导致严重后果,同时也便于查找错误



何为Selenium 命令分类:
1)、 操作 action: 模拟用户与web应用程序做交交互,如果一个动作执行失败,或是有错误,当前的测试将会停止执行
action命令: open、click、clickAndWait、type、select(选择下拉框)、selectWindow(选择弹出窗口)、
pause(等待指定时间,以毫秒为单位,即要睡眠的时间)、setSpeed(设定执行速度)、setTimeout(指定等待动作完成的等待时间。默认为30秒)。。。。。。

click和clickAndWait的区别:
clickAndWait--》 click后 会有一个默认的页面等待时间为 30秒(AndWait后缀表明: 这个命令将使浏览器向服务器产生一个请求,使selenium等待加载一个新的页面) ;但click没有等待时间
相当于多了一个: waitForPageToLoad("30000")

2)、辅助 accessors: 这是一个辅助工具 用于检查应用程序的状态并将结果存储 到变量中:
如 : storeElementPresent(locator,variableName)
其中参数: locator 表示元素定位器; variabkeName用于存储结果的变量名,即将locator定位到的状态存储到 variableName变量中。
如果元素 出现,返回true, 否则返回false

3)、断言: assertion验证应用程序 的状态是否同 与所期望的预期一致
常见的断言包括: 验证页面内容,如标题是否为"三鑫油马客户端" 、 当前位置是否正确 、 该复选框是否被勾选等等。


3.1) 断言用于三种模式: assert 、 verity 、 waitfor

3.1.1) Assert 失败时,该测试将终止。

3.1.2) Verify 失败时,该测试将继续执行,并将错误记入日显示屏。也就是说允许此单个 验证通过。确保应用程序在正确的页面上。

3.1.3) Waitfor用于等待某些条件变为真。可用于AJAX应用程序的测试。

如果该条件为真,他们将立即成功执行。如果该条件不为真,则将失败并暂停测试。直到超过当前所设定的超时时间。 一般跟setTimeout时间一起用

以上是关于JUnit的断言 Assert的主要内容,如果未能解决你的问题,请参考以下文章

断言与JUnit断言

[JUnit] JUnit5 基础 1 - Junit5 结构 与 断言的使用

Junit框架使用--JUnit常用断言及注解

JUnit的各种断言

Junit——Assert断言

JUnit 5:如何断言抛出异常?