UI自动化之特殊处理二(弹框下拉框选项文件上传)

Posted weizhideweilai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UI自动化之特殊处理二(弹框下拉框选项文件上传)相关的知识,希望对你有一定的参考价值。

弹框下拉框选项文件上传也是一些比较特殊的操作

 

目录

1、弹框

2、下拉框

3、选项

4、文件上传

 

1、弹框

弹框有三种形式,value为alert、confirm、prompt三种的弹框,第一个仅可点击确认,第二个可点击取消和确认,第三个可以输入内容再点击取消或者确认

alert:仅需要定位到alert上,然后再确认

m= driver.switch_to_alert()
m.accept()

 confirm:定位到alert,点击取消或者确认

m= driver.switch_to_alert()
m.accept() #确认
m.dismiss() #取消,取消和确认选一种

 prompt:定位到alert,输入内容,再取消或者确认

m= driver.switch_to_alert()
m.send_keys("qq")
m.accept() #确认
m.dismiss() #取消,取消和确认选一种

  

2、下拉框

可通过一次定位和二次定位2种方法来定位

一次定位:

driver.find_element_by_xpath(".//[@id=‘nr‘]/option[3]").click()

 二次定位:

第一种,先定位到下拉框,再用xpath定位到下拉框的值

driver.find_element_by_id("nr").find_element_by_xpath("//option[@value=‘50‘]").click() 

第二种:用select模块二次定位

from selenium.webdriver.support.select import Select
‘‘‘通过索引‘‘‘
m = driver.find_element_by_id("nr")
Select(m).select_by_index(0)
‘‘‘通过value‘‘‘
m = driver.find_element_by_id("nr")
Select(m).select_by_value("20")
‘‘‘通过text‘‘‘
m = driver.find_element_by_id("nr")
Select(m).select_by_visible_text("每页显示 50 条")

3、选项

选项分为单选框和复选框

001、单选框:type=radio

直接找到,然后点击

driver.find_element_by_xpath(".//*[@type=‘radio‘]").click()

002、复选框:type=checkbox

想要全部点击,需要用find_elements方法,然后再循环点击

checkboxs=driver.find_elements_by_xpath(".//*[@type=‘checkbox‘]")
for i in checkboxs:
   i.click()

003、是否选中

is_selected(),为True时,为选中,为False,没选中,用来测试点击的结果

driver.find_element_by_xpath(".//*[@type=‘radio‘]").click()
m=driver.find_element_by_xpath(".//*[@type=‘radio‘]").is_selected()
print m

  

4、文件上传

文件上传分为2种,一种type为file,一种不为file

001、type=file的,直接使用send_keys()

driver.find_element_by_id("qq").send_keys(r"d:qq.png")

002、type非file的,借助第三方模块

 

以上是关于UI自动化之特殊处理二(弹框下拉框选项文件上传)的主要内容,如果未能解决你的问题,请参考以下文章

技术分享 | web自动化测试-文件上传与弹框处理

UI自动化测试之selenium——selenium中的常用api

Selenium 与 文件上传,弹框处理

python自动化之selenium以及接口自动化

python自动化之selenium以及接口自动化

python自动化之selenium以及接口自动化