自动化框架之断言
断言的作用
一个自动化里面通常有至少一个甚至几个断言,断言就是检查点,是为了判断通过页面得到的结果是否符合预期。我这里使用TestNG的Assert API来做断言。
断言API
1.Assert.assertEquals
2.Assert.assertFalse(condition)
3.Assert.assertNotEquals(actual1,actual2)
4.Assert.assertNotNull(object)
5.Assert.assertNotSame(actual,expected,message)
6.Assert.assertNull(object,message)
7.Assert.assertSame(actual,expected)
8.Assert.assertTrue(condition)
封装断言
如果一个脚本有几个断言,只要其中一个断言失败,就马上会结束整个脚本,断言后面的脚本就无法继续,我们可以对断言进行封装,这样就可以等整个脚本跑完再做统计。
public class Assertion{ //让一个flag首先为true public static boolean flag=true; public static void verifyEqulas(Object actual,Object expected){ try{ Assert.assertEquals(actual,expected); } catch(Error e){ //如果有异常,让flag为false flag=false; } } public static void verifyEquals(Object actual,Object expected,String){ try{ Assert.assertEquals(actual,expected,message); } catch(Error e){ //如果有异常,让flag为false flag=false; }} }
这样在脚本中调用时,就可以这样写:
@test
public void testAssert(){
Assertion.flag=true;
Assertion.verifyEquals(1,2,“比较两个数是否相等“);
Assert.assertTrue(Assertion.flag);
}