前言

在编写自动化测试脚本时,为了使“机器”去自动辨识test case的执行结果是True还是False,一般都需要在用例执行过程中获取一些信息,来判断用例的执行时成功还是失败。

判断成功失败与否,就涉及到断言。webdriver的断言使用有三种模式:操作(action)、辅助(accessors)、断言(assertion)。

1、操作(action)

模拟用户与Web应用程序的交互,一般用于操作应用程序的状态;

如点击链接,选择选项的方式进行工作;如果一个动作执行失败,或是有错误,当前的测试将会停止执行。

常见命令如下:

  • open(打开页面)
  • click(点击)
  • clickAndWait(点击并等待)
  • type(文本类型)
  • select(选择下拉菜单)
  • selectWindow(选择弹出窗口)
  • pause(等待指定时间,以毫秒为单位,即要睡眠的时间)
  • setSpeed(设定执行速度。以毫秒延迟间隔长度。默认没有延迟,即为0)
  • setTimeout(指定等待动作完成的等待时间。默认为30秒,需要等待的动作包括了OPEN 和WAITFOR)
  • goBack(模拟用户点击其浏览器上的“back”按钮)
  • close(模拟用户点击弹出窗体或表单标题栏上的”关闭”按钮)

2、辅助(accessors)

辅助工具,用于检查应用程序的状态并将结果存储到变量中;

如:storeElementPresent(locator,variableName)

其中参数locator表示元素定位器,variableName用于存储结果的变量名;

即将locator定位到的状态存储到variableName变量中,如果该元素出现返回true,否则返回false,可同断言一同使用。

3、断言(assertion)

验证应用程序的状态是否同所期望的一致。

常见的断言包括:验证页面内容,如标题是否为X或当前位置是否正确,或是验证该复选框是否被勾选。

常用断言如下:

  • 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 (等待检验某元素的存在,为真时,则执行)

使用断言的注意点:

①不要使用断言作为公共方法的参数检查,公共方法的参数永远都要执行;

②断言语句不可以有任何边界效应,不要使用断言语句去修改变量和改变方法的返回值;

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取   

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐