精华内容
下载资源
问答
  • 断言

    千次阅读 2019-10-07 10:20:49
    1. 理解什么是断言 2. 掌握断言assertEqual、assertIn方法 3. 了解UnitTest其他断言方法 1.UnitTest断言 什么是断言? 概念:让程序代替人为判断测试程序执行结果是否符合预期结果的过程 1.2 为什么要学习断言...

    目标

    1. 理解什么是断言

    2. 掌握断言assertEqual、assertIn方法

    3. 了解UnitTest其他断言方法

    1. UnitTest断言

    什么是断言?

    概念:让程序代替人为判断测试程序执行结果是否符合预期结果的过程

    1.2 为什么要学习断言?

     

    自动化脚本在执行的时候一般都是无人值守状态,我们不知道执行结果是否符合预期结果,所以我们需要让      程序代替人

    为检测程序执行的结果是否符合预期结果,这就需要使用断言。

    1.3 UnitTest断言方法

    说明:

    1. UnitTest中提供了非常丰富的断言方法,请参考附件资料

    2. 复杂的断言方法在自动化测试中几乎使用不到,所以我们只需要掌握几个常用的即可

    2. 常用的UnitTest断言方法

     

    序号

    断言方法

    断言描述

    1

    assertTrue(expr, msg=None)

    验证expr是true,如果为false,则fail

    2

    assertFalse(expr, msg=None)

    验证expr是false,如果为true,则fail

     

    3

    assertEqual(expected, actual, msg=None)

    验证expected==actual,不等则fail 【掌握】


     

    4

    assertNotEqual(first, second, msg=None)

    验证first != second, 相等则fail

    5

    assertIsNone(obj, msg=None)

    验证obj是None,不是则fail

    6

    assertIsNotNone(obj, msg=None)

    验证obj不是None,是则fail

     

    7

    assertIn(member, container, msg=None)

    验证是否member in container【掌握】

     

    8

    assertNotIn(member, container, msg=None)

    验证是否member not in container


    2.1 使用方式

    断言方法已经在unittest.TestCase类中定义好了,而且我们自定义的测试类已经继承了

    TestCase,所以在测试方法中直接调用即可。

    import  unittest
     
    def  add(x,  y): return  x  +  y
     
    class  TestAssert(unittest.TestCase):
     
    def  test01(self): num  =  add(1,  2)
    self.assertEqual(3,  num)
     
    def  test02(self): num  =  add(1,  2) is_ok  =  num  ==  3
    self.assertTrue(is_ok)

    3. 案例

    需求:使用UnitTest框架对tpshop项目测试
    1).点击登录,进入登录页面
    2).输入用户名和密码,不输入验证码,直接点击登录按钮
    3).获取错误提示信息
    4).断言错误提示信息是否为“验证码不能为空!”,如果断言失败则保存截图
     
    扩展:
    1.图片名称为动态-时间

    断言主要代码

    # 获取错误提示信息
    msg  =  self.driver.find_element_by_css_selector(".layui-layer-content").text print("msg=",  msg)
    try:
    # 断 言
    self.assertIn("验证码不能为空",  msg)
    except  AssertionError  as  e:
    # 保存截图
    img_path  =  "./imgs/img{}.png".format(time.strftime("%Y%m%d-%H%M%S")) self.driver.get_screenshot_as_file(img_path)
    raise  e

    案例代码

    import  time import  unittest
    from  selenium  import  webdriver class  TestLogin(unittest.TestCase):
    def  setUp(self):
    self.driver  =  webdriver.Firefox() self.driver.get("http://localhost") self.driver.implicitly_wait(10) self.driver.maximize_window()
     
    def  test_login(self):
    # 点击登录按钮
    self.driver.find_element_by_link_text("登录").click()
    # 输入用户名
    self.driver.find_element_by_id("username").send_keys("13012345678") # 输入密码self.driver.find_element_by_id("password").send_keys("123456")
    # 点击登录按钮
    self.driver.find_element_by_css_selector("[name='sbtbutton']").click()
    # 获取错误提示信息
    msg  =  self.driver.find_element_by_css_selector(".layui-layer-content").text print("msg=",  msg)
    try:
    # 断 言
    self.assertIn("验证码不能为空",  msg)
    except  AssertionError  as  e: # 保存截图
    img_path  =  "./imgs/img{}.png".format(time.strftime("%Y%m%d-%H%M%S")) self.driver.get_screenshot_as_file(img_path)
    raise  e
    def  tearDown(self): self.driver.quit()
     
    if      name      ==  '    main    ': unittest.main()

    4. 断言总结

    1. 什么是断言?

    2. 需要掌握哪个断言?

    3. 断言异常类?

    展开全文
  • 断言和json断言

    2020-12-06 19:11:59
    断言 文章目录断言1.创建线程组2.创建响应断言 和 json断言3.创建http请求 并 填写内容4.填写要响应的数据5.填写json要响应的数据6.运行1.正确的2.错误的 1.创建线程组 2.创建响应断言 和 json断言 3.创建http请求...

    断言

    1.创建线程组

    在这里插入图片描述

    2.创建响应断言 和 json断言

    在这里插入图片描述

    3.创建http请求 并 填写内容

    在这里插入图片描述

    4.填写要响应的数据

    在这里插入图片描述

    5.填写json要响应的数据

    在这里插入图片描述

    6.运行

    1.正确的

    在这里插入图片描述

    2.错误的

    在这里插入图片描述

    展开全文
  • Jmeter断言-响应断言

    万次阅读 多人点赞 2018-06-03 21:52:41
    1:Jmeter断言-响应断言1.1:添加线程组1.2:添加http请求1.3:在http请求下添加“响应断言”1.4:添加查看结果树和Debug取样器1:断言成功的结果2:断言失败的结果(如下修改)2:参数化断言2.1:添加CSV配置原件...

    1:Jmeter断言-响应断言

    1.1:添加线程组


    1.2:添加http请求


    1.3:在http请求下添加“响应断言”



    1.4:添加查看结果树和Debug取样器

    1:断言成功的结果


    2:断言失败的结果(如下修改)



    2:参数化断言

    2.1:添加CSV配置原件


    2.2:对要测试的内容进行参数化


    2.3:观察结果树

    结果与第一章一样 都是pass的




    3:模式匹配规则的介绍


    3.1:Substring模式匹配规则

    匹配其中的一段字符串即可


    3.2:Equals模式匹配规则


    3.3:包括模式匹配规则

    3.4:匹配模式匹配规则


    3.5:忽视大小写 忽视换行的正则写法


    3.6:断言的作用域

    1:作用于整个线程组


    2:只作用于该http请求


    展开全文
  • JMeter断言

    2020-03-31 11:05:08
    JMeter断言响应断言JSON断言大小断言JSR233断言XPath2 AssertionHTML断言JSON JMESPath AssertionMD5Hex断言SMIME断言XML Schema断言XML断言XPath断言断言持续时间比较断言BeanShell断言 响应断言 JSON断言 大小...

    在这里插入图片描述

    响应断言

    JSON断言

    大小断言

    JSR233断言

    XPath2 Assertion

    HTML断言

    JSON JMESPath Assertion

    MD5Hex断言

    SMIME断言

    XML Schema断言

    XML断言

    XPath断言

    断言持续时间

    比较断言

    BeanShell断言

    展开全文
  • 并发断言 及时断言区别 Assertions are very helpful to find problems or bugs. But, sometimes there's a problem 断言对于发现问题或错误非常有帮助。 但是,有时候会有问题 using them, for example within....
  •  断言可以局部开启的,如:父类禁止断言,而子类开启断言,所以一般说“断言不具有继承性”。  断言只适用复杂的调式过程。  断言一般用于程序执行结构的判断,千万不要让断言处理业务流程。 2 判断eclipse...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 174,254
精华内容 69,701
关键字:

怎样的断言