zoukankan      html  css  js  c++  java
  • 解决手工测试兼容浏览器重复工作

    问题点:每次做兼容页面测试,都需要打开浏览器一个一个查看,实在麻烦,其实可以启动浏览器,截下每张图,根据图片就比较了,不用一个一个浏览器打开在手动输入网址查看:

    实现点:

    1 在 ie chrome firefox 三种浏览器下
    2 分别截图 baidu sogou youdao
    3 保存在当前日期的目录下,方便查看,名称为浏览器名称和网站名称
    4 网址保存在某个数据文件中,方便直接读取,

    直接上代码:

    from selenium import webdriver
    import time
    import datetime
    import os
    import re
    global pathfile
    def create_time_file(path): #创建文件的方法
        gettime=time.localtime()
        filename=time.strftime('%H-%M-%S',time.localtime(time.time()))
        print u"创建的文件为",filename
        if not os.path.exists(path+filename):  #不存在这个文件,文件为了测试,用的时分秒创建文件名
            os.mkdir(path+filename)
            print u"文件创建成功地址为:",path+filename
        return path+filename
    
    def  create_url_file():
        with open("e:\config.txt","w") as fp:#可写三行,或者一行都行,主要是打开的地址
            fp.write("http://www.sogou.com
    ")
            fp.write("http://www.baidu.com
    ")
            fp.write("http://www.youdao.com
    ")
    
    def capture_browser(browser_name,url):
        if(browser_name=="ie"or browser_name=="IE"):#需要不区分大小写
            driver=webdriver.Ie(executable_path="D:\IEDriverServer")
        elif (browser_name=="chrome"or browser_name=="CHROME"):
            driver = webdriver.Chrome(executable_path = "d:\chromedriver")
        else:  #默认就启动火狐
            driver =webdriver.Firefox(executable_path = "d:\geckodriver")
        driver.get(url)
        
        print u"目前地址为:",os.getcwd()
        os.chdir(pathfile)
        print u"进入创建的目前地址:",os.getcwd()
       
        print u"浏览器为:",browser_name
        #要注意,直接携带http://给文件命名是不规范的,
        pictpath=browser_name+"_"+url[11:16]+".png"#取文件名也可以用正则,re.search(r"http://www.(w+)..*",url).group(1)+".png"
        print u"创建图片名称为:",pictpath
        driver.get_screenshot_as_file(pictpath) #截图
        print u"截图成功关闭浏览器"
        driver.quit()
    
    if __name__=="__main__":
        pathfile=create_time_file("d:\")#创建路径在D盘
        create_url_file()
        browser_namelist=["ie","chrome","firefox"]
        for browser_name in browser_namelist:
            with open("e:\config.txt") as fp:#读取配置文件
                for line in fp:
                    print u"打开地址为:",line
                    url=line.strip()  #删除字符串中开头、结尾处空格
                    capture_browser(browser_name,url)

    日志内容为:

    实现效果:

    只需要对比图片内容就可以发现兼容问题

  • 相关阅读:
    Java描述设计模式(18):享元模式
    Java描述设计模式(17):调停者模式
    微服务架构案例(06):通过业务、应用、技术、存储方面,聊聊架构
    微服务架构案例(05):SpringCloud 基础组件应用设计
    微服务架构案例(04):中间件集成,公共服务封装
    微服务架构案例(03):数据库选型简介,业务数据规划设计
    微服务架构案例(02):业务架构设计,系统分层管理
    Java描述设计模式(16):代理模式
    讲解mybaits的标签语法
    java程序设计原则
  • 原文地址:https://www.cnblogs.com/chongyou/p/6538328.html
Copyright © 2011-2022 走看看