python下的基于selenium+headless chrome配置及安装,自动化测试登陆界面并截图

selenium和headless chrome

selenium简介

selenium 是一个用于Web应用程序测试的工具,它直接运行在浏览器中,模拟真正的用户的操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性,测试系统功能等。
最大优点:通过编写模仿用户操作的 Selenium 测试脚本,可以从终端用户的角度来测试应用程序。通过在不同浏览器中运行测试,更容易发现浏览器的不兼容性。

headless chrome简介

Google 针对 Chrome 浏览器新增加的一种模式,可以在不打开UI界面的情况下使用 Chrome 浏览器,但是运行效果与 Chrome 保持完美一致。

在 Chrome 59中开始搭载 Headless Chrome。这是一种在无需显示的环境下运行 Chrome浏览器的方式。从本质上来说,
就是不用 chrome 浏览器来运行 Chrome 的功能!它将 Chromium 和 Blink渲染引擎提供的所有现代 Web 平台的功能都带
入了命令行。
– Eric Bidelman

安装及环境配置

准备工作:windows操作系统,python3.x(自带pip命令)
安装方式1:在python安装路径的Scripts文件夹下打开cmd窗口,输入:pip install -U selenium ,可安装最新版本的selenium
python下的基于selenium+headless chrome配置及安装,自动化测试登陆界面并截图_第1张图片
安装方式2:通过python IDE安装(PyCharm:File→Settings→Project Interpreter→+→搜索selenium→Install Package),安装selenium

python下的基于selenium+headless chrome配置及安装,自动化测试登陆界面并截图_第2张图片
python下的基于selenium+headless chrome配置及安装,自动化测试登陆界面并截图_第3张图片
python下的基于selenium+headless chrome配置及安装,自动化测试登陆界面并截图_第4张图片

下载webdriver chrome

selenium操作chrome浏览器需要有ChromeDriver驱动来协助,ChromeDriver是Chromium team开发维护的,通过chrome的自动代理框架控制浏览器。
下载webdriver:http://chromedriver.storage.googleapis.com/index.html (注意与chrome浏览器的版本相对应),下载解压之后是一个.exe文件。
然后将chromedriver.exe文件放到python安装目录下的\Scripts下,再将chromedriver.exe文件放到C:\Program Files (x86)\Google\Chrome\Application目录下即可。
python下的基于selenium+headless chrome配置及安装,自动化测试登陆界面并截图_第5张图片
python下的基于selenium+headless chrome配置及安装,自动化测试登陆界面并截图_第6张图片

关于登陆界面的自动化测试流程

#导包
from selenium import webdriver
# 声明谷歌浏览器对象
driver = webdriver.Chrome()
#设置浏览器无头模式
option = webdriver.ChromeOptions()
option.add_argument('--headless')
option.add_argument('--disable-gpu') #禁用 GPU 硬件加速,防止出现bug
driver = webdriver.Chrome(chrome_options=option)
#打开浏览器,进入页面
driver.get('http://****.com')
#将登陆页面截图,以.png的格式保存在桌面上
driver.get_screenshot_as_file("C:\\Users\\wn\\Desktop\\页面.png")
#通过元素定位来找到输入框,输入登录信息
log_in = driver.find_elements_by_class_name('mu-text-field-input')
log_in[0].send_keys(账号)
log_in[1].send_keys(密码)

python下的基于selenium+headless chrome配置及安装,自动化测试登陆界面并截图_第7张图片

#点击登陆按钮
button = driver.find_element_by_class_name('mu-ripple-wrapper')
button.click()
time.sleep(3)
#将登陆成功后的页面截图
driver.get_screenshot_as_file("C:\\Users\\wn\\Desktop\\登陆成功页面.png")

这里写图片描述

你可能感兴趣的:(python下的基于selenium+headless chrome配置及安装,自动化测试登陆界面并截图)