自动化测试——窗口截图、验证码处理

一、截图

说明:把当前操作页面、截图保存到指定位置

1、为什么要窗口截图

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

2、窗口截图

说明:在WebDriver类库中,提供了截图方法,我们只需要调用即可:

方法:(1)get_screenshot_as_file(imgpath)     截取当前窗口

                   (imgpath:图片保存路径)

3、截图代码实现

from selenium import webdriver
from time import sleep

driver = webdriver.Firefox()


driver.get(r'G:\python\day1\source\注册实例.html')
sleep(2)

driver.switch_to.frame('myframe1')
driver.find_element_by_id('userA').send_keys('admin')
driver.get_screenshot_as_file("../Image/image01.jpg")

sleep(3)
driver.quit()

二、验证码

1、验证码的处理方式

说明:WebDriver类库中没有对验证码处理的方法,但是在这里可以叙说下针对验证码的几种常用处理方式

(1)去掉验证码 (测试环境下——采用)

(2)设置万能验证码 (生产环境——采用)

(3)验证码识别技术

(4)记录cookie (通过记录cookie进行登录——推荐)

提示:

1、去掉验证码、设置万能验证码,由开发来完成

2、验证码识别技术,成功率不高,验证码种类繁多,不太适合

3、记录cookie,比较实用

三、cookie

1、cookie是什么?

cookie:

(1)cookie是一小段的文本信息,格式:python中的字典(键值对形式)

(2)cookie产生,客户端请求服务端,如果服务端需要记录该用户状态,就向客户端浏览器激发一个cookie格式

(3)cookie使用:当浏览器再请求该网站时,浏览器把请求的网址连同该cookie一同提交给服务器,服务器检查该cookie,以此来辨认用户状态

2、为什么记录cookie?

(1)用户第一次登录时,勾选下次直接登录或者记住密码,就是采用记录cookie实现的

(2)cookie内记录用户名和密码(加密)信息,只要请求是服务器收到cookie,就是别成功,默认为已登录

(3)记录cookie

3、cookie实现

说明:WebDriver中对cookie操作提供相应的方法

方法:

(1)get_cookie(name)      获取指定的cookie

(2)get_cookies()             获取本网站所有cookies

(3)add_cookie(str)          添加cookie  (str:为python中的字典形式)

4、模拟登陆代码

from selenium import webdriver
from time import sleep

driver = webdriver.Firefox()

driver.get('https://www.baidu.com')
#首次登录保存cookie值,value根据实际填写
driver.add_cookie({'name':'BAIDUID','value':'E88F11332D748EBF362DCBB4075084F9:FG=1'})
driver.add_cookie({'name':'BDUSS','value':'RLV3Zld1lZamIxTS1mUHdmY1E2d2F-VnIzWX5QVDY5MlU1QTNSc0wwVEVObDVjQVFBQUFBJCQAAAAAAAAAAAEAAAClFd1ms~XH5zk5OTMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMSpNlzEqTZcej'})

sleep(3)
driver.refresh()
driver.quit()

猜你喜欢

转载自blog.csdn.net/qq_35169931/article/details/86177649