何为 断言:
断言不仅仅是 一个报错函数,它也是一个宏,并且作用并非“报错”。
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时间一起用