学习测试10-4自动化 web自动化

网页资源 链接: https://pan.baidu.com/s/17XL2c2lkw_R6BD--VnOQqw?pwd=43dr 提取码:

43dr 复制这段内容后打开百度网盘手机App,操作更方便哦

框架之间切换



python 复制代码
driver.switch_to.frame("idframe1") # 父切子   参数用id和name

# 子切子必须先转回父
driver.switch_to.parent_frame()   # 子切父
driver.switch_to.frame("idframe2") # 父切子

练习
python 复制代码
driver = webdriver.Chrome("C:\Program Files\Google\Chrome\Application\chromedriver.exe")
driver.get("file:///D:/CarTest/web/Register.html")

driver.find_element(By.ID, 'user').send_keys('admin')

driver.switch_to.frame("idframe1") # 父切子   参数用idid='idframe1'

driver.find_element(By.ID, 'userA').send_keys('adminA')

# 子切子必须先转回父
driver.switch_to.parent_frame()   # 子切父
driver.find_element(By.XPATH, '//*[@id="zc"]/a[1]').click()

driver.switch_to.frame("idframe2") # 父切子

driver.find_element(By.ID, 'userB').send_keys('userB')
sleep(4)

断言

断言 assert 预期==实际 没问题不会报错

python 复制代码
a = driver.find_element(By.XPATH, '//*[@id="bootstrap-table"]/tbody/tr[1]/td[3]').text
print(a)
assert a == '东方闪电的速度1'

等待

python 复制代码
# 强制等待  写在操作里
sleep()

# 隐式等待
driver.implicitly_wait(10)  # 写在开头 每个操作10秒

# 显式等待  写在开头
# 整个这句话的意思是,在5秒时间内,每隔0.5秒去定位一次元素(id="kw"的元素)。
# 如果5秒内能定位到,则继续执行;定位失败,则报错
WebDriverWait(driver, 5, 0.5).until(EC.presence_of_element_located((By.ID, "kw")))

=======================综合练习

python 复制代码
# 登录名鹰OA系统 http://192.168.8.57:8080/QzhOA/login
# 完成  新增会议、断言、
from selenium import webdriver
from time import sleep  # 时间模块 让浏览器等待,便于展示
from selenium.webdriver.common.by import By
# 框架的切换
driver = webdriver.Chrome("C:\Program Files\Google\Chrome\Application\chromedriver.exe")
driver.get("file:///D:/CarTest/web/Register.html")

'''driver = webdriver.Chrome("C:\Program Files\Google\Chrome\Application\chromedriver.exe")
driver.get("http://192.168.8.57:8080/QzhOA/login")

# driver.find_element(By.NAME, 'username').send_keys('admin')
# driver.find_element(By.NAME, 'password').send_keys('123456')
driver.find_element(By.ID, 'btnSubmit').click()  # 登录
sleep(1)
driver.find_element(By.XPATH, '//ul[@id="side-menu"]/li[7]/a/span[1]').click()  # 会议管理
sleep(1)
driver.find_element(By.XPATH, '//*[@id="side-menu"]/li[7]/ul/li/a').click()
sleep(1)

driver.switch_to.frame('iframe21')  # 切子
driver.find_element(By.XPATH, '//*[@id="toolbar"]/a[1]').click()  # 新增会议
sleep(2)

driver.switch_to.frame('layui-layer-iframe1')  # 切子

driver.find_element(By.XPATH, '//*[@id="meetingTheme"]').send_keys('环保3')
driver.find_element(By.XPATH, '//*[@id="meetingAddr"]').send_keys('上海')
driver.find_element(By.XPATH, '//*[@id="form-meeting-add"]/div[4]/div/div[2]/div[3]/div[3]/p').send_keys('哈哈哈哈哈哈')

driver.switch_to.parent_frame()
driver.find_element(By.XPATH, '//*[@id="layui-layer1"]/div[3]/a[1]').click()  # 确定

sleep(2)
driver.switch_to.frame('iframe21')  # 切子
driver.find_element(By.XPATH, '/html/body/div/div/div[2]/div[1]/div[2]/div[4]/div[2]/ul/li[8]/a').click()  # 140

sleep(1)
a = driver.find_element(By.XPATH, '//*[@id="bootstrap-table"]/tbody/tr[4]/td[3]').text  # ?
print(a)
assert a == '环保3'
sleep(3)
driver.quit()'''
# -------------------------------------------
# 修改会议、断言
'''driver = webdriver.Chrome("C:\Program Files\Google\Chrome\Application\chromedriver.exe")
driver.get("http://192.168.8.57:8080/QzhOA/login")

# driver.find_element(By.NAME, 'username').send_keys('admin')
# driver.find_element(By.NAME, 'password').send_keys('123456')
driver.find_element(By.ID, 'btnSubmit').click()  # 登录
sleep(1)
driver.find_element(By.XPATH, '//ul[@id="side-menu"]/li[7]/a/span[1]').click()  # 会议管理
sleep(1)
driver.find_element(By.XPATH, '//*[@id="side-menu"]/li[7]/ul/li/a').click()

sleep(1)
driver.switch_to.frame('iframe21')  # 切子
sleep(1)
driver.find_element(By.XPATH, '//*[@id="bootstrap-table"]/tbody/tr[1]/td[10]/a[1]').click()  # 修改会议
sleep(2)

driver.switch_to.frame('layui-layer-iframe1')  # 切子
driver.find_element(By.XPATH, '//*[@id="meetingTheme"]').clear()
driver.find_element(By.XPATH, '//*[@id="meetingTheme"]').send_keys('东方闪电的速度2')
sleep(1)

driver.switch_to.parent_frame()
# driver.switch_to.frame('layui-layer-iframe1')  # 切子
driver.find_element(By.XPATH, '//*[@id="layui-layer1"]/div[3]/a[1]').click()  # 确定

sleep(2)
# driver.switch_to.frame('iframe21')  # 切子
sleep(1)
a = driver.find_element(By.XPATH, '//*[@id="bootstrap-table"]/tbody/tr[1]/td[3]').text
print(a)
assert a == '东方闪电的速度1'
sleep(3)
driver.quit()'''

# --------------------------------
# 删除会议、断言
driver = webdriver.Chrome("C:\Program Files\Google\Chrome\Application\chromedriver.exe")
driver.get("http://192.168.8.57:8080/QzhOA/login")

# driver.find_element(By.NAME, 'username').send_keys('admin')
# driver.find_element(By.NAME, 'password').send_keys('123456')
driver.find_element(By.ID, 'btnSubmit').click()  # 登录
sleep(1)
driver.find_element(By.XPATH, '//ul[@id="side-menu"]/li[7]/a/span[1]').click()  # 会议管理
sleep(1)
driver.find_element(By.XPATH, '//*[@id="side-menu"]/li[7]/ul/li/a').click()

sleep(1)
driver.switch_to.frame('iframe21')  # 切子
sleep(1)
i = driver.find_element(By.XPATH, '//*[@id="bootstrap-table"]/tbody/tr[2]/td[2]').text
driver.find_element(By.XPATH, '//*[@id="bootstrap-table"]/tbody/tr[1]/td[10]/a[2]').click()  # 删除
sleep(2)

driver.find_element(By.CLASS_NAME, 'layui-layer-btn0').click()
sleep(1)
print(i)
assert i == 32

sleep(5)
driver.quit()
相关推荐
wgod3 分钟前
new AbortController()
前端
UXbot9 分钟前
UXbot 是什么?一句指令生成完整应用的 AI 工具
前端·ai·交互·个人开发·ai编程·原型模式·ux
m0_5648768419 分钟前
提示词工程手册学习
人工智能·python·深度学习·学习
Century_Dragon20 分钟前
世纪龙-从爆炸图到原理动画:让环境感知系统在课堂上“活”起来
学习
阿荻在肝了23 分钟前
Agent学习二:智能体(Agent)开发核心原理
学习
棒棒的唐24 分钟前
WSL2用npm安装的openclaw,无法正常使用openclaw gateway start启动服务的问题
前端·npm·gateway
哔哩哔哩技术32 分钟前
使用Compose Navigation3进行屏幕适配
前端
少许极端36 分钟前
算法奇妙屋(四十)-贪心算法学习之路7
java·学习·算法·贪心算法
忙什么果1 小时前
Mamba学习笔记2:Mamba模型
android·笔记·学习
悠哉悠哉愿意1 小时前
【物联网学习笔记】ADC
笔记·单片机·嵌入式硬件·物联网·学习