51Testing软件测试论坛

标题: python 用爬虫写网页测试 [打印本页]

作者: 胖虎    时间: 2018-3-15 16:48
标题: python 用爬虫写网页测试
以测试维基百科为例:
  1. from urllib.request import urlopen
  2. from bs4 import BeautifulSoup
  3. import unittest

  4. class TestWikipedia(unittest.TestCase):
  5.     bsObj = None
  6.     def setUpClass():
  7.         global bsObj
  8.         url = 'http://en.wikipedia.org/wiki/Monty_Python'
  9.         bsObj = BeautifulSoup(urlopen(url))
  10.         print('setting up the test')
  11.     def test_titleTest(self):
  12.         global bsObj
  13.         pageTitle = bsObj.find("h1").get_text()
  14.         self.assertEqual("Monty Python",pageTitle)
  15.         print("tearing down the test")
  16.     def test_contentExists(self):
  17.         global bsObj
  18.         content = bsObj.find("div",{"id":"mw-content-text"})
  19.         self.assertIsNotNone(content)


  20. if __name__=='__main__':
  21.     unittest.main()
复制代码
写了两个测试,第一个测试页面标题是否为”Monty Python”,第二个测试页面是否有一个div节
点id属性是”mw-content-text”
注意这个页面的内容值加载一次由全局对象bsObj共享给其他测试,这是通过unittest类的函
数setUpClass来实现的,这个函数只在类的初始化阶段运行一次(与每个测试启动时都运行
的setUp函数不同),更方便。
结果:

  1. .setting up the test
  2. tearing down the test
  3. setting up the test..
  4. tearing down the test

  5. ----------------------------------------------------------------------
  6. Ran 3 tests in 2.568s

  7. OK
复制代码
注意:单双引号无所谓,用作字符,字符串,注意有转义的时候尽量避免混淆,转单引号则外面用双引
号,反之亦然,三引号也可以用只是麻烦,另三引号可用作注释

作者: 海海豚    时间: 2018-3-15 17:36
谢谢分享~
作者: libingyu135    时间: 2018-4-25 16:43
666
作者: 梦想家    时间: 2018-5-5 09:38

作者: 梦想家    时间: 2018-5-5 09:38
666
作者: Miss_love    时间: 2018-5-8 14:33





欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2