400-650-7353

精品课程

您所在的位置:首页 > IT干货资料 > 软件测试 > 【软件测试基础知识】自动化测试遇到对话框怎么办?

【软件测试基础知识】自动化测试遇到对话框怎么办?

  • 发布: 软件测试培训
  • 来源:软件测试干货资料
  • 2020-01-03 19:55:44
  • 阅读()
  • 分享
  • 手机端入口

一、认识对话框

Web 页面中对话框是很常见的一种控件,当我们使用常见的元素定位方法定位对话框中的按钮时会发现定位失败,这个时候我们怎么办呢?要准确定位,我们有必要了解下对话框。一般而言,alert对话框有3种:Alert,prompt,confirm。

1. alert() 警告框,点击后弹出包含一个确定按钮的警告框。警告消息框 alert 的方法中有一个参数,即开发者想让用户看到的文本,该文本不是 HTML 格式。它提供了一个“确定”按钮可以让用户关闭警告框,且警告框属于模态窗口,也就是说,用户必须先关闭该消息框然后才能继续进行操作。

2. confirm() 确认框,点击后会弹出一个包含确定按钮和取消按钮的确认框。确认框使用确认消息框向用户询问“yes or no”,用户可以选择单击“确定”按钮或者单击“取消”按钮,confirm方法的返回值是一个Boolean值。它也是一种模态窗口,用户必须在该对话框关闭后,才能进行下一步操作。

3. prompt() 提示框,点击后会弹出一个包含确定按钮、取消按钮以及一个文本框的提示框,用户可以在文本框输入一个答案来响应提示框。当用户在文本框中输入信息,并且点击“确定”按钮,网页会给与回应。它也是一种模态窗口,用户必须在该对话框关闭后,才能进行下一步操作。

二、处理对话框

1. 对于这三种对话框我们在selenium中的处理方式是一样的:

(1) driver.switch_to.alert 获取alert

(2) alert.accept() 接受对话框选项(相当于点击了确定按钮)

(3) alert.dismiss() 取消对话框选项

(4) alert.text 返回对话框中的文字信息

2. Alert警告框

# 点击按钮获取警告框

driver.find_element_by_css_selector("#alert").click()

sleep(2)

# 获取警告框

alert = driver.switch_to.alert

# 获取警告框文本

print("警告框文本信息为:", alert.text)

# 接受警告框(点击确定按钮)

alert.accept()

sleep(2)

# 再次点击

driver.find_element_by_css_selector("#alert").click()

# 获取警告框

alert = driver.switch_to.alert

sleep(2)

# 取消警告框(点击X关闭按钮)

alert.dismiss()

3. Confirm确认框

# 点击按钮获取确认框

driver.find_element_by_css_selector("#confirm").click()

sleep(2)

# 获取确认框

alert = driver.switch_to.alert

# 获取确认框文本

print("确认框文本信息为:", alert.text)

# 接受确认框(点击确定按钮)

alert.accept()

sleep(2)

# 再次点击获取

driver.find_element_by_css_selector("#confirm").click()

alert = driver.switch_to.alert

sleep(2)

# 取消确认框(点击取消按钮)

alert.dismiss()

4. Prompt提示框

# 点击按钮获取提示框

driver.find_element_by_css_selector("#prompt").click()

sleep(2)

# 获取提示框

alert = driver.switch_to.alert

# 获取提示框文本

print("提示框文本信息为:", alert.text)

sleep(2)

# 给提示框中文本框输入内容

alert.send_keys("www.ujiuye.com")

# 接受提示框(点击确定按钮)

alert.accept()

sleep(2)

# 再次点击获取

driver.find_element_by_css_selector("#prompt").click()

alert = driver.switch_to.alert

# 给提示框中文本框输入内容

alert.send_keys("www.offcn.com")

sleep(2)

# 取消提示框(点击取消按钮)

alert.dismiss()

课程好礼申请领取
您的姓名
您的电话
意向课程
 

中公优就业

官方微信

扫描上方二维码或者手动搜索ujiuye,关注【优就业】,每日推送行业资讯、干货资料、热门话题、招聘信息和求职攻略,还有不定期的优惠活动一手发布!

>>本文地址:
注:本站稿件未经许可不得转载,转载请保留出处及源文件地址。

相关推荐

优就业:ujiuye

关注中公优就业官方微信

  • 精品好课
  • 活动秒杀
  • 资料领取
QQ交流群
领取免费网课
(加群备注“网站”)
软件测试 加入群聊 +
全链路UI/UE设计 加入群聊 +
Python+人工智能 加入群聊 +
互联网营销 加入群聊 +
Java开发 加入群聊 +
PHP开发 加入群聊 +
VR/AR游戏开发 加入群聊 +
大前端 加入群聊 +
大数据 加入群聊 +
Linux云计算 加入群聊 +
嵌入式物联网 加入群聊 +
优就业官方微信
扫码关注
领取免费学习资料

趁年轻 学门技术充个电
0元
入学
30天免费试学, 3000
直减优惠
立即
抢占
2周
特训
价值299的特训营课程,
9.9元抢购
立即
抢购
80G
资源包
IT行业11类热门岗位全套资源包
立即
领取
课程资料、活动优惠 领取通道