断言
验证应用程序的状态是否同所期待的一致。常见的断言包括验证页面内容,如标题是否为X或当前位置是否正确等等。
我们可以在Firefox浏览器,通过右键-Show All Variable Commands,来添加断言。
断言的4种模式+5种手段
5种手段
- title获取页面的标题
- value获取元素的值
- text获取元素文本信息
- table获得元素标签
- ElementPresent:获得当前元素
4种模式
第1种:asset
Asset断言失败时,该测试将终止。 优点:可以直接直接了当的看到检查是否通过 缺点:若检查失败,后续的检查不会被执行,无法收集检查的结果状态
第2种:verify
verify断言失败时,该测试将继续执行,并将错误记入log。提高脚本的伸缩性。 优点:如果测试中只用验证,可以保证如果没有意外异常,测试会被执行完毕,而不管是否发现缺陷 缺陷:必须有更多的工作,以检查测试结果
第3种:waitfor
waitfor用于等待某些条件变为真。可用于AJAX应用程序的测试。如果该条件为真,他们将立即成功执行。如果该条件不为真,则将失败并暂停测试,直到超过当前所设定的超时时间。一般跟setTimeout时间一起用。 waitFor则用于在一定时间内等待某一元素。 waitFor的value如果为空,则默认等待时间为60秒。
第4种:store
store定义一个普通变量,可以获取页面的相关元素进行判断。 store格式: store(expression、variablename) expression:定义变量的值,该值可以由其他变量组合而成货通过JavaScript表达式赋值给变量; variablename:定义变量名
store | Mr John Smith | fullname |
store | $.{title} $.{firstname} $.{suname} | fullname |
store | javascript.{Math.round(Math.PI*100)/100} | PI |
断言常用的有:
assertLocation:判断当前是在正确的页面
assertTitle:检查当前页面的title是否正确
assertValue:检查input的值, checkbox或radio,有值为”on”无为”off”
assertSelected:检查select的下拉菜单中选中是否正确
assertSelectedOptions:检查下拉菜单中的选项的是否正确
assertText:检查指定元素的文本
assertTextPresent:检查在当前给用户显示的页面上是否有出现指定的文本
assertTextNotPresent:检查在当前给用户显示的页面上是否没有出现指定的文本
assertAttribute:检查当前指定元素的属性的值
assertTable:检查table里的某个cell中的值
assertEditable:检查指定的input是否可以编辑
assertNotEditable:检查指定的input是否不可以编辑
assertAlert:检查是否有产生带指定message的alert对话框
waitForElementPresent:等待检验某元素的存在。为真时,则执行