目录:导读
前言
1、后台登录案例
设计测试用例处理验证码以及绕过登录使用cookie机制
1)搭建测试环境
安装第三方库,配置对应的测试环境
需要安装依赖库
pip install selenium
安装对应的浏览器以及驱动
谷歌浏览器
谷歌的驱动
浏览器和驱动版本号一定要保持一致才能进行使用
版本号是114之前:
https://chromedriver.storage.googleapis.com/index.html
版本号是114之后:
https://googlechromelabs.github.io/chrome-for-testing/#stable
将谷歌驱动下载完成之后,放置项目文件中即可使用
2)验证测试环境
import time
from selenium import webdriver
# 创建驱动对象
driver = webdriver.Chrome()
# 访问被测地址
url = "http:n&"
driver.get(url)
# 页面最大化
driver.maximize_window()
# 强制等待
time.sleep(5)
# 关闭驱动
driver.quit()
3)设计流程用例
定位页面元素
操作页面元素
后台登录业务流程用例设计:
访问后台登录页面
输入账号
输入密码
输入验证码
点击登录按钮
…
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
# 创建驱动对象
driver = webdriver.Chrome()
# 访问被测地址
url = "http:/bin&"
# # - 访问后台登录页面
driver.get(url)
# 页面最大化
driver.maximize_window()
# - 输入账号
driver.find_element(By.XPATH,
'/html/body/form/table/tbody/tr/td[3]/table/tbody/tr[2]/td[2]/input').send_keys("admin")
# - 输入密码
driver.find_element(By.XPATH,
'/html/body/form/table/tbody/tr/td[3]/table/tbody/tr[3]/td[2]/input').send_keys("msjy123")
# - 输入验证码
driver.find_element(By.XPATH,
'/html/body/form/table/tbody/tr/td[3]/table/tbody/tr[5]/td[2]/input').send_keys("8888")
# - 点击登录按钮
driver.find_element(By.XPATH, '//*[@id="login_btn"]').click()
# 强制等待
time.sleep(5)
# 关闭驱动
driver.quit()
4)验证码处理
一般情况公司如果涉及web自动化测试需要对验证码进行处理会有以下几种方式:
关闭验证码的功能
设置万能的验证码
通过第三方打码平台识别验证码
获取验证码图片
使用selenium提供的截图方法获取验证码图片
# 截取验证码图片
driver.find_element(By.XPATH, '//*[@id="verify"]').screenshot('verify.png&