【测试】自动化测试函数介绍——web 测试

前提条件:

安装好:webdriver-manager 和 selenium 库

python 复制代码
pip install webdriver-manager
python 复制代码
pip install selenium==4.0.0

注意:4.0.0 是版本号

一、常用函数

web 测试代码的基本框架:

python 复制代码
import time
from zoneinfo import reset_tzpath

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager

# 编写自动化脚本------具体步骤
# 1.打开浏览器------使用驱动来打开
ChromeIns=ChromeDriverManager().install()#安装谷歌浏览器驱动,返回值是一个驱动路径
# 创建谷歌浏览器的驱动对象
driver=webdriver.Chrome(service=Service(ChromeIns))
time.sleep(2)
# 2.输入百度网址:https://www.baidu.com
driver.get("https://www.baidu.com")

# 3. 找到百度输入框,输入关键字:"鞠婧祎"
driver.find_element(By.CSS_SELECTOR,"#chat-textarea").send_keys("鞠婧祎")

driver.find_element(By.CSS_SELECTOR,"#chat-textarea").clear()#清空文本

driver.find_element(By.CSS_SELECTOR,"#chat-textarea").send_keys("赵露思")
# 4.点击百度一下按钮
driver.find_element(By.CSS_SELECTOR,"#chat-submit-button").click()
time.sleep(5)
# # 5.关闭浏览器
driver.quit()

查找元素:find_element(方式,"元素"),只能查找一个元素

find_elements(方式,"元素"),查找同一个元素的不同的值:就是变量一样,值不一样;

cpp 复制代码
ret = driver.find_elements(By.CSS_SELECTOR,"#hotsearch-content-wrapper > li")
for t in ret:
    print(t.text)#获取每个元素对应的文本

常见的元素定位方式非常多,如 id,classname,tagname,xpath,cssSelector

常用的主要由 cssSelector 和 xpath

cpp 复制代码
# 4.点击百度一下按钮
driver.find_element(By.XPATH,"//*[@id='chat-submit-button']").click()

xpath:例如://*@id="chat-submit-button"

//* :获取 html 上所有的节点

// 指定节点:获取HTML页面指定的节点

sends_keys:模拟键盘输入数据;

click():点击,或者提交对象;

clear():清空文本;注意:连续的 send_keys 会把输入的文本拼接在一起,无法达到 clear 的效果;

cpp 复制代码
driver.find_element(By.CSS_SELECTOR,"#chat-textarea").send_keys("鞠婧祎")
time.sleep(1)
driver.find_element(By.CSS_SELECTOR,"#chat-textarea").clear()#清空文本
time.sleep(3)
driver.find_element(By.CSS_SELECTOR,"#chat-textarea").send_keys("赵露思")

text():获取文本

注意:文本 != 属性,例如:按钮上的文字就是属性

cpp 复制代码
t=driver.find_element(By.CSS_SELECTOR,"#chat-submit-button").text
print(t)

get_attribute():获取属性信息

cpp 复制代码
t=driver.find_element(By.CSS_SELECTOR,"#chat-submit-button").get_attribute("属性")
print(t)

driver.quit()

title:获取网页的标题

current_url:获取当前的网页的网址

cpp 复制代码
t=driver.title
print(t)
t=driver.current_url
print(t)

使用场景:页面元素可点击的跳转的清空下,用来检测跳转的结果是否是正确的;

二、窗口

当我们切换页面时,我们要更换页面的句柄:

cpp 复制代码
ChromeIns=ChromeDriverManager().install()#安装谷歌浏览器驱动,返回值是一个驱动路径
# 创建谷歌浏览器的驱动对象
driver=webdriver.Chrome(service=Service(ChromeIns))
time.sleep(2)
# 2.输入百度网址:https://www.baidu.com
driver.get("https://www.baidu.com")
curHandle = driver.current_window_handle#获取当前的网页的句柄
print(driver.title)
print(driver.current_url)
driver.find_element(By.CSS_SELECTOR,"#hotsearch-content-wrapper > li:nth-child(1) > a").click()
allhandle = driver.window_handles#获取所有打开网页的句柄
for handle in allhandle:
    if handle != curHandle:
        driver.switch_to.window(handle)#切换句柄
print(driver.title)
print(driver.current_url)
driver.quit()
相关推荐
代码不停2 小时前
自动化测试(java)
java·开发语言·selenium·自动化
Smoothcloud润云3 小时前
PyTorch大模型权重加载与启动耗时优化实战:定位磁盘、内存与显存瓶颈
人工智能·pytorch·python·深度学习·gpu算力
databook3 小时前
从循环到向量化:NumPy提速的7个关键思维
python·数据分析·numpy
棉猴3 小时前
玩游戏学Python1-Python和pgzero库的安装
python·pygame·玩游戏·pgzero·pgzrun
诺伦4 小时前
GEO优化数据实证:78%引用流向官网的机制拆解与小品牌三步管线实战教程 | RiseClaw玄策
python·seo·geo·内容营销·ai搜索
oooost4 小时前
pytorch学习笔记1
python·学习方法
数字融合4 小时前
透明化视频孪生虚实映射一体化融合技术
人工智能·python·数码相机
jack186895 小时前
Lovable.Dev 全栈应用快速落地实战指南
python
2302_805771075 小时前
Day24:DDT+EXCEL数据驱动
功能测试·单元测试·自动化·测试用例·需求分析·web自动化
华研前沿标杆游学5 小时前
【标杆研学】走进茅台集团|对标学习长期主义与匠心精神
python