前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >对自动化测试的几点思考(三)

对自动化测试的几点思考(三)

作者头像
无涯WuYa
发布2018-10-25 15:56:38
4420
发布2018-10-25 15:56:38
举报
文章被收录于专栏:Python自动化测试

在前面的两个文章中关于接口测试,自动化测试聊了很多,那今天就说下在自动化测试中的断言,在自动化测试中,没有断言的测试用例是无效的,这是我一直的想法,那么怎么样的断言是正确的,一个自动化测试用例增加了断言就可以完全的放心了吗?在自动化测试中,我感觉最可怕的不是测试用例的维护,以及它的编写,最可怕的是功能存在问题,而自动化测试用例执行后,结果竟然是PASS,这会导致很严重的后果和质疑。

既然说到自动化测试断言这部分,就以简单的例子来说明这点,就按UI级别的自动化测试来举例,案例是打开百度首页,验证title是否是“百度一下,你就知道”,见代码:

代码语言:javascript
复制
#!/usr/bin/env python
#coding:utf-8

import  unittest
from selenium import  webdriver

class UITest(unittest.TestCase):
   def setUp(self):
      self.driver=webdriver.Firefox()
      self.driver.maximize_window()
      self.driver.get('http://www.baidu.com')
      self.driver.implicitly_wait(30)

   def tearDown(self):
      self.driver.quit()

   def test_baidu_title(self):
      title=self.driver.title
      if title==u'百度一下,你就知道':
         print ('pass')
      else:
         print ('fail')

if __name__ == '__main__':
    unittest.main(verbosity=2)

针对上面的代码,不管怎么执行,在自动化的测试报告中,该用例永远是pass的,在自动化测试的测试代码中,尽量少使用if这些判断的代码,自动化测试的结果很简单,要么是PASS,要么是FAIL,没有第三种情况,所以也就意味着断言一定要准确,不能出现的结果让人去猜或者是模棱两可的说不清楚,上面代码的问题就在于不管这个判断打印结果是pass还是fail,在自动化测试结果中,这个用例是pass的,不会因为打印的结果是fail,用例执行结果也是fail。另外需要注意的是在测试用例的断言中也不要使用try异常处理的方式,不能说因为执行失败了就去处理异常,如果代码执行失败就应该让失败,通过失败来定位是功能bug还是测试代码写的不对,针对if判断和try异常这些,可以放在对象层中,尽量避免在测试层中。对上面的代码进行修改,见修改后的代码:

代码语言:javascript
复制
#!/usr/bin/env python
#coding:utf-8

import  unittest
from selenium import  webdriver

class UITest(unittest.TestCase):
   def setUp(self):
      self.driver=webdriver.Firefox()
      self.driver.maximize_window()
      self.driver.get('http://www.baidu.com')
      self.driver.implicitly_wait(30)

   def tearDown(self):
      self.driver.quit()

   def test_baidu_title(self):
      self.assertEqual(self.driver.title,u'百度一下,你就知道')

if __name__ == '__main__':
    unittest.main(verbosity=2)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-05-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档