zoukankan      html  css  js  c++  java
  • 吴裕雄--天生自然python学习笔记:python实现自动网页测试

    Python 可实现的网页测试的功能十分强大,甚至能通
    过编程来实现让绝大多数的测试过程自动化。 这对很多开
    发者来说,绝对是不可多得的神器。
    hash lib 纽件可以判别文件是否有过更改,只需要用
    md5 方法对指定的文件进行编码,即可进行比对。
    Selenium 是相当著名的网页自动化测试纽件,它可以
    通过指令自动对网页进行测试。 Selenium 还能使开发网页
    时的大量重复性操作实现自动化,并在设直的时间内自动
    运行, 功能相当强大。
    检查网蜡数据是否更新
    抓取网站的数据时通常需要把数据保存在文件或数据库中 。每一次读取网站数
    据 ,都必须占用宝贵的网络资源 ,为 了提高效率 ,如果网站内容没有更新,就没有
    再次读取数据的必要 ,我们 只要从上次保存的文件或数据库中读取就可以了 。
    用 hashlib 判别文件是否有过更新
    Python 提供 hash lib 组件可以判别文件是否更新过,最简单的方式是通过 m d5 方
    法对指定的二进制文件生成编码,只要文件有过更新,就会产生不同的 md5 码 。
    使用 has hlib 之前,首先要导入 ha s h lib 组件,再通过 md5 方法创建一个对象。
    例如 : 创建一个 md5 对象 。 

    用所创建的 md5 对象的 update 方法,可对指定字符串进行加密,其中的字符串
    必须是二进制类型: hexdigest 方法可以得到十六进制的加密结果 。 语法示例如下 :

    这种方式有点麻烦,比较简单的方式是跳过创建 md5 对象和 update 方法,直接
    把指定二进制字符串作为 hashlib.md5 () 参数,例如:

    用 md5 检查网站内容是否更新
    要实现此功能 , 首先我们要把网站先前创建的 md5 码保存起来,然后与新创建
    的 md5 码进行比较,这样就可判断出网站内容是否进行了更新 。
    以下程序中,我们将新浪新同先前的 md5 码保存在 <old md5 . tx t> 文件中,再读
    取出新创建的 md5 码后进行比对,结束后,用最新的 md5 码覆盖原来的 o ld rnd5 .txt 
    文件 。 (<md5 . py>)
    import hashlib,os,requests 
    
    url = "http://opendata.epa.gov.tw/ws/Data/REWXQA/?$orderby=SiteName&$skip=0&$top=1000&format=json"
    
    # 读取网页原始码
    html=requests.get(url).text.encode('utf-8-sig')
    # 判断网页是否更新
    md5 = hashlib.md5(html).hexdigest()
    
    if os.path.exists('F:\pythonBase\pythonex\ch06\old_md5.txt'):
        with open('F:\pythonBase\pythonex\ch06\old_md5.txt', 'r') as f:
            old_md5 = f.read()
        with open('F:\pythonBase\pythonex\ch06\old_md5.txt', 'w') as f:
            f.write(md5)
    else:
        with open('F:\pythonBase\pythonex\ch06\old_md5.txt', 'w') as f:
            f.write(md5)
    
    if md5 != old_md5:
        print('数据已更新...') 
    else:
        print('数据未更新,从数据库读取...')
  • 相关阅读:
    Python3爬虫之爬取某一路径的所有html文件
    python获取数据网页数据并创建文件夹保存(基于python3.6)
    Python 爬取单个网页所需要加载的地址和CSS、JS文件地址
    java的关闭钩子(Shutdown Hook)
    如何形象的解释 webhook 这个词
    Webhook
    什么是webhook
    瞎折腾之Webhooks
    Java-马士兵设计模式学习笔记-观察者模式-读取properties文件,动态增加观察者
    怎么解决重装系统后“我的文档”拒绝访问(更改权限就可以了)
  • 原文地址:https://www.cnblogs.com/tszr/p/12024642.html
Copyright © 2011-2022 走看看