zoukankan      html  css  js  c++  java
  • 7 窗口截图、验证码处理

    窗口截图、验证码处理

    1 截图

    • 把当前操作页面的截图保存到指定位置
    • 自动化脚本是由程序去执行的,因此有时候打印的错误信息并不是十分明确。如果在执行出错的时候对当前 窗口截图保存,那么通过图片就可以非常直观地看到出错的原因。

    1.1 窗口截图

    说明:在WebDriver类库中,提供了截图方法,我们只需要调用即可;
    
    方法:
        1). get_screenshot_as_file(imgpath)  截取当前窗口
            (imgpath:图片保存路径)
    

    2 验证码

    • 一种随机生成的信息(图片、数字、字母、汉字、算术题)等为了防止恶意的请求行为,增加应用的安全性。
    • 在Web应用中,大部分系统在用户登陆的时候都要求输入验证码,而我们在设计自动化脚本时候,就需要面

    2.1 验证码的处理方式

    说明:WebDriver类库中没有对验证码处理的方法,但是在这里可以叙说下针对验证码的几种常用处理方式;
    
    方式:
        1). 去掉验证码
                (测试环境下-采用)
        2). 设置万能验证码
                (生产环境-采用)
        3). 验证码识别技术
                (通过Python-tesseract来识别图片类型验证码;识别率很难达到100%)
        4). 记录cookie
                (通过记录cookie进行登录-推荐)
    

    提示:

    1. 去掉验证码、设置万能验证码:太简单都是开发来完成,我们在这里不做讲解
    2. 验证码识别技术:成功率不高,验证码种类繁多,不太适合;
    3. 记录cookie:比较实用,
    
    cookie:
        1. Cookie是一小段的文本信息;格式:python中的字典(键值对组成)
        2. Cookie产生:客户端请求服务器,如果服务器需要记录该用户状态,就向客户端浏览器颁发一个Cookie格式
        3. Cookie使用:当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器,服务器检
           查该Cookie,以此来辨认用户状态。
    
    说明:
        1. 用户第一次登陆时,勾选下次直接登陆或者记住密码,就是采用记录cookie实现的
        2. cookie内记录用户名和密码(加密)信息,只要请求时服务器收到cookie,就识别成功,默认为已登陆。
    

    2.2.1 记录cookie

    说明:
        1. WebDriver中对cookie操作提供相应的方法
    
    方法:
        1. get_cookie(name)                    --> 获取指定cookie
           (name:为健名)
        2. get_cookies()                    --> 获取本网站所有本地cookies
        3. add_cookie(str)                    -->    添加cookie
           (str:为python中的字典格式)
    
  • 相关阅读:
    考察数据结构(An Extensive Examination of Data Structures)
    考察数据结构——第一部分:数据结构简介[译]
    老生常谈
    使用DataSet的ReadXml和WriteXml方法
    要掌握Sql Server,我还差得远啊!
    新浪短信Web Service
    还是水晶报表
    两种报表组件的功能分析
    无限级分类(非递归算法/存储过程版/GUID主键)完整数据库示例_(4)显示记录
    c#方法中调用参数的值传递方式和引用传递方式,以及ref与out的区别
  • 原文地址:https://www.cnblogs.com/shibojie/p/11726977.html
Copyright © 2011-2022 走看看