胖虎 发表于 2018-3-15 16:48:47

python 用爬虫写网页测试

以测试维基百科为例:
from urllib.request import urlopen
from bs4 import BeautifulSoup
import unittest

class TestWikipedia(unittest.TestCase):
    bsObj = None
    def setUpClass():
      global bsObj
      url = 'http://en.wikipedia.org/wiki/Monty_Python'
      bsObj = BeautifulSoup(urlopen(url))
      print('setting up the test')
    def test_titleTest(self):
      global bsObj
      pageTitle = bsObj.find("h1").get_text()
      self.assertEqual("Monty Python",pageTitle)
      print("tearing down the test")
    def test_contentExists(self):
      global bsObj
      content = bsObj.find("div",{"id":"mw-content-text"})
      self.assertIsNotNone(content)


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

.setting up the test
tearing down the test
setting up the test..
tearing down the test

----------------------------------------------------------------------
Ran 3 tests in 2.568s

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

海海豚 发表于 2018-3-15 17:36:05

谢谢分享~

libingyu135 发表于 2018-4-25 16:43:27

666

梦想家 发表于 2018-5-5 09:38:28

梦想家 发表于 2018-5-5 09:38:34

666

Miss_love 发表于 2018-5-8 14:33:22

:handshake
页: [1]
查看完整版本: python 用爬虫写网页测试