UI自动化测试(弹出框,多窗口)

一、弹出框实战
1、在UI自动化测试中经常会遇到Alert弹出框的场景。Alert类是对话框的处理,主要是对alert警告框。confirm确认框,promp消息对话框。

  text():获取alert的文本

  dismiss ():点击取消

  accept():接受

  send-keys():输入

from selenium import webdriver
from selenium.webdriver.common.alert import Alert
import time as t
"""获取alert警告框的文本信息"""
driver=webdriver.Chrome()
driver.maximize_window()
driver.get('file:///D:/code/app/01.html')
print('获取alert的文本信息:',driver.switch_to.alert.text)
t.sleep(3)
driver.switch_to.alert.accept()
t.sleep(3)
driver.quit()获取alert的文本信息: 无涯课堂为您服务!

 

from selenium import webdriver
from selenium.webdriver.common.alert import Alert
import time as t"""确认框的处理"""
driver=webdriver.Chrome()
driver.maximize_window()
driver.get('file:///D:/code/app/confi.html')
driver.find_element_by_xpath('/html/body/input').click()
driver.switch_to.alert.accept()
t.sleep(5)
# 刷新页面
driver.refresh()
t.sleep(3)
driver.find_element_by_xpath('/html/body/input').click()
driver.switch_to.alert.dismiss()
t.sleep(3)
driver.quit()
from selenium import webdriver
from selenium.webdriver.common.alert import Alert
import time as t"""消息对话框输入信息"""
driver=webdriver.Chrome()
driver.maximize_window()
driver.get('file:///D:/code/app/prompt.html')
driver.find_element_by_xpath('/html/body/input').click()
driver.switch_to.alert.send_keys('无涯课堂为您服务!')
t.sleep(5)
# 点击取消
driver.switch_to.alert.dismiss()
t.sleep(5)
driver.find_element_by_xpath('/html/body/input').click()
# 再一次输入
driver.switch_to.alert.send_keys('无涯课堂为您服务!')
t.sleep(5)
driver.switch_to.alert.accept()
t.sleep(5)
driver.quit()

二、Sina实战

from selenium import webdriver
import time as t"""sina实战"""
driver=webdriver.Chrome()
driver.maximize_window()
driver.get('https://mail.sina.com.cn/')
# 输入用户名
driver.find_element_by_id('freename').send_keys('wuya1303@sina.com')
t.sleep(3)
# 输入密码
driver.find_element_by_xpath('//*[@id="freepassword"]').send_keys('admin123')
t.sleep(3)
# 点击登录按钮
driver.find_element_by_xpath('/html/body/div[3]/div/div[2]/div/div/div[4]/div[1]/div[1]/div[7]/div[1]/a[1]').click()
t.sleep(3)
# 获取nick
nick=driver.find_element_by_xpath('//*[@id="navParent"]/li[1]/a/span/em').text
print('nick信息:',nick)
assert nick=="邮箱首页"
# 点击写信按钮
driver.find_element_by_xpath('//*[@id="coreBtn"]/ul/li[1]/a').click()
t.sleep(3)
# 输入收件人 断言
inputText=driver.find_element_by_xpath('//*[@id="tr_to"]/td/ul/li/input')
inputText.send_keys('wuya1303@sina.com')
assert inputText.get_attribute('value')=='wuya1303@sina.com'driver.switch_to.frame
t.sleep(3)
driver.quit()

三、QQ邮箱错误信息的验证

from selenium import webdriver
import time as tdriver=webdriver.Chrome()
driver.maximize_window()
driver.get('https://mail.qq.com/')
driver.switch_to.frame('login_frame')
driver.find_element_by_id('u').send_keys('734398143')
t.sleep(3)
driver.find_element_by_xpath('//*[@id="p"]').send_keys('asdf')
driver.find_element_by_xpath('//*[@id="login_button"]').click()
t.sleep(3)
errorText=driver.find_element_by_xpath('//*[@id="err_m"]')
assert errorText.text=='你输入的帐号或密码不正确,请重新输入。'
driver.quit()

四、新浪邮箱错误信息的验证

1、账户密码都为空

from selenium import webdriver
import time as tdriver=webdriver.Chrome()
driver.maximize_window()
driver.get('https://mail.sina.com.cn/#')
"""错误信息验证 用户名和密码都为空"""
driver.find_element_by_xpath('/html/body/div[3]/div/div[2]/div/div/div[4]/div[1]/div[1]/div[7]/div[1]/a[1]').click()
errorText=driver.find_element_by_xpath('/html/body/div[3]/div/div[2]/div/div/div[4]/div[1]/div[1]/div[1]/span[1]')
assert errorText.text=='请输入邮箱名'
t.sleep(3)
driver.quit()

2、密码为空

from selenium import webdriver
import time as tdriver=webdriver.Chrome()
driver.maximize_window()
driver.get('https://mail.sina.com.cn/#')
"""密码为空"""
driver.find_element_by_id('freename').send_keys('wuya1303@sina.com')
t.sleep(3)
driver.find_element_by_xpath('/html/body/div[3]/div/div[2]/div/div/div[4]/div[1]/div[1]/div[7]/div[1]/a[1]').click()
errorText=driver.find_element_by_xpath('/html/body/div[3]/div/div[2]/div/div/div[4]/div[1]/div[1]/div[1]/span[2]')
assert errorText.text=='请输入密码'
t.sleep(3)
driver.quit()

3、账户为空

from selenium import webdriver
import time as tdriver=webdriver.Chrome()
driver.maximize_window()
driver.get('https://mail.sina.com.cn/#')
"""邮箱名为空"""
driver.find_element_by_xpath('//*[@id="freepassword"]').send_keys('admin123')
t.sleep(3)
driver.find_element_by_xpath('/html/body/div[3]/div/div[2]/div/div/div[4]/div[1]/div[1]/div[7]/div[1]/a[1]').click()
errorText=driver.find_element_by_xpath('/html/body/div[3]/div/div[2]/div/div/div[4]/div[1]/div[1]/div[1]/span[1]')
assert errorText.text=='请输入邮箱名'
t.sleep(3)
driver.quit()

五、忘记密码的验证 多窗口

from selenium import webdriver
import time as t"""测试忘记密码"""
driver=webdriver.Chrome()
driver.maximize_window()
driver.get('https://mail.sina.com.cn/#')
nowHandler=driver.current_window_handle
driver.find_element_by_link_text('忘记密码?').click()
allHandler=driver.window_handles
for handler in allHandler:if handler!=nowHandler:driver.switch_to.window(handler)url=driver.current_urlprint(url.endswith('entry=freemail'))assert url.endswith('entry=freemail')==Truedriver.close()
driver.switch_to.window(nowHandler)
t.sleep(3)
driver.quit()
总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助

文档获取方式

加入我的软件测试交流群:632880530免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/179533.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于乌鸦算法优化概率神经网络PNN的分类预测 - 附代码

基于乌鸦算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于乌鸦算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于乌鸦优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神经网络的光滑…

浅尝:iOS的CoreGraphics和Flutter的Canvas

iOS的CoreGraphic 基本就是创建一个自定义的UIView&#xff0c;然后重写drawRect方法&#xff0c;在此方法里使用UIGraphicsGetCurrentContext()来绘制目标图形和样式 #import <UIKit/UIKit.h>interface MyGraphicView : UIView endimplementation MyGraphicView// Onl…

一键帮您解决win11最新版画图工具难用问题!

&#x1f984;个人主页:修修修也 ⚙️操作环境:Windows 11 正文 自从win11更新后,新版的画图工具变得非常难用,如: 使用橡皮擦后露出背版马赛克 框住某部分拖动移动时背景露出马赛克剪贴板上图片信息无法直接插入到画图板 目前没有一个好一些的能够在软件内部解决这些问题的方…

浅聊汽车供应链数智化发展趋势

“2023中国汽车供应链大会暨第二届中国新能源智能网联汽车生态大会”在11月10日—12日&#xff0c;武汉经开区举办。围绕供应链安全与布局、新型汽车供应链打造、传统供应链升级、全球化发展等热点话题进行深入交流与探讨&#xff0c;寻找构建世界一流汽车供应链的对策、方法和…

virtualbox基本配置

全屏模式调出热键 右边的 ctrl home 键 安装增强功能 注意&#xff1a;virtualbox 自带那个安装增强功能点击后是没有效果的 1、启动虚拟机 2、设备 3、分配虚拟光驱 4、选择虚拟盘 5、选择对应iso文件&#xff0c;文件下载路径 6、双击对应文件安装&#xff0c;默认配置…

太好玩了,爬虫、部署API、加小程序,一条龙玩转知乎热榜

一直想做一个从爬虫到数据处理&#xff0c;到API部署&#xff0c;再到小程序展示的一条龙项目&#xff0c;最近抽了些时间&#xff0c;实现了一个关于知乎热榜的&#xff0c;今天就来分享一下&#xff01; 由于代码还没有完全整理好&#xff0c;今天只给出一个大致的思路和部分…

零一万物回应「抄袭 LLaMA」;京东原副总裁试用可穿戴人工喉丨 RTE 开发者日报 Vol.85

开发者朋友们大家好&#xff1a; 这里是 「RTE 开发者日报」 &#xff0c;每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE &#xff08;Real Time Engagement&#xff09; 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

淘宝客APP源码/社交电商自营商城源码/前端基于Uniapp开发

淘宝客APP源码&#xff0c;前端基于Uniapp开发的社交电商自营商城源码。Thinkphp的后台&#xff0c;不是很标准&#xff0c;感兴趣的可以自行研究。 商城功能 1、首页基础装修&#xff1b;2、丰富选品库&#xff1b;3、淘口令解析&#xff1b;4、支持京东&#xff1b;5、支持…

Zookeeper Java SDK 开发入门

文章目录 一、概述二、导入依赖包三、与 Zookeeper 建立连接四、判断 ZooKeeper 节点是否存在四、创建 ZooKeeper 节点数据五、获取 ZooKeeper 节点数据六、修改 ZooKeeper 节点数据七、异步获取 ZooKeeper 节点数据八、完整示例 如果您还没有安装Zookeeper请看ZooKeeper 安装说…

python自动化第一篇—— 带图文的execl的自动化合并

简述 最近接到一个需求&#xff0c;需要为公司里的一个部门提供一个文件上传自动化合并的系统&#xff0c;以供用户稽核&#xff0c;谈到自动化&#xff0c;肯定是选择python&#xff0c;毕竟python的轮子多。比较了市面上几个用得多的python库&#xff0c;我最终选择了xlwings…

mask-rcnn原理与实战

一、Mask R-CNN是什么&#xff0c;可以做哪些任务&#xff1f; Mask R-CNN是一个实例分割&#xff08;Instance segmentation&#xff09;算法&#xff0c;可以用来做“目标检测”、“目标实例分割”、“目标关键点检测”。 1. 实例分割&#xff08;Instance segmentation&am…

比较器应用之一_窗口比较器/极限比较器

窗口比较器&#xff1a;用处能在一个&#xff0c;电压落在规定的范围之内&#xff0c;报警或者不报警 当输入电压u1 > URa时&#xff0c;必然大于UaL&#xff0c;所以集成运放A1的输出uo1Uow&#xff0c;A2的输出u02-Uow。使得二极管D1导通&#xff0c;D2截止&#xff0c;电…