400-650-7353
您所在的位置:首頁(yè) > IT干貨資料 > 軟件測(cè)試 > 【軟件測(cè)試基礎(chǔ)知識(shí)】自動(dòng)化測(cè)試遇到對(duì)話框怎么辦?

【軟件測(cè)試基礎(chǔ)知識(shí)】自動(dòng)化測(cè)試遇到對(duì)話框怎么辦?

  • 發(fā)布: 軟件測(cè)試培訓(xùn)
  • 來(lái)源:軟件測(cè)試干貨資料
  • 2020-01-03 19:55:44
  • 閱讀()
  • 分享
  • 手機(jī)端入口

一、認(rèn)識(shí)對(duì)話框

Web 頁(yè)面中對(duì)話框是很常見(jiàn)的一種控件,當(dāng)我們使用常見(jiàn)的元素定位方法定位對(duì)話框中的按鈕時(shí)會(huì)發(fā)現(xiàn)定位失敗,這個(gè)時(shí)候我們?cè)趺崔k呢?要準(zhǔn)確定位,我們有必要了解下對(duì)話框。一般而言,alert對(duì)話框有3種:Alert,prompt,confirm。

1. alert() 警告框,點(diǎn)擊后彈出包含一個(gè)確定按鈕的警告框。警告消息框 alert 的方法中有一個(gè)參數(shù),即開(kāi)發(fā)者想讓用戶看到的文本,該文本不是 HTML 格式。它提供了一個(gè)“確定”按鈕可以讓用戶關(guān)閉警告框,且警告框?qū)儆谀B(tài)窗口,也就是說(shuō),用戶必須先關(guān)閉該消息框然后才能繼續(xù)進(jìn)行操作。

2. confirm() 確認(rèn)框,點(diǎn)擊后會(huì)彈出一個(gè)包含確定按鈕和取消按鈕的確認(rèn)框。確認(rèn)框使用確認(rèn)消息框向用戶詢問(wèn)“yes or no”,用戶可以選擇單擊“確定”按鈕或者單擊“取消”按鈕,confirm方法的返回值是一個(gè)Boolean值。它也是一種模態(tài)窗口,用戶必須在該對(duì)話框關(guān)閉后,才能進(jìn)行下一步操作。

3. prompt() 提示框,點(diǎn)擊后會(huì)彈出一個(gè)包含確定按鈕、取消按鈕以及一個(gè)文本框的提示框,用戶可以在文本框輸入一個(gè)答案來(lái)響應(yīng)提示框。當(dāng)用戶在文本框中輸入信息,并且點(diǎn)擊“確定”按鈕,網(wǎng)頁(yè)會(huì)給與回應(yīng)。它也是一種模態(tài)窗口,用戶必須在該對(duì)話框關(guān)閉后,才能進(jìn)行下一步操作。

二、處理對(duì)話框

1. 對(duì)于這三種對(duì)話框我們?cè)趕elenium中的處理方式是一樣的:

(1) driver.switch_to.alert 獲取alert

(2) alert.accept() 接受對(duì)話框選項(xiàng)(相當(dāng)于點(diǎn)擊了確定按鈕)

(3) alert.dismiss() 取消對(duì)話框選項(xiàng)

(4) alert.text 返回對(duì)話框中的文字信息

2. Alert警告框

# 點(diǎn)擊按鈕獲取警告框

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

sleep(2)

# 獲取警告框

alert = driver.switch_to.alert

# 獲取警告框文本

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

# 接受警告框(點(diǎn)擊確定按鈕)

alert.accept()

sleep(2)

# 再次點(diǎn)擊

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

# 獲取警告框

alert = driver.switch_to.alert

sleep(2)

# 取消警告框(點(diǎn)擊X關(guān)閉按鈕)

alert.dismiss()

3. Confirm確認(rèn)框

# 點(diǎn)擊按鈕獲取確認(rèn)框

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

sleep(2)

# 獲取確認(rèn)框

alert = driver.switch_to.alert

# 獲取確認(rèn)框文本

print("確認(rèn)框文本信息為:", alert.text)

# 接受確認(rèn)框(點(diǎn)擊確定按鈕)

alert.accept()

sleep(2)

# 再次點(diǎn)擊獲取

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

alert = driver.switch_to.alert

sleep(2)

# 取消確認(rèn)框(點(diǎn)擊取消按鈕)

alert.dismiss()

4. Prompt提示框

# 點(diǎn)擊按鈕獲取提示框

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

sleep(2)

# 獲取提示框

alert = driver.switch_to.alert

# 獲取提示框文本

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

sleep(2)

# 給提示框中文本框輸入內(nèi)容

alert.send_keys("liujunjsxg.cn")

# 接受提示框(點(diǎn)擊確定按鈕)

alert.accept()

sleep(2)

# 再次點(diǎn)擊獲取

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

alert = driver.switch_to.alert

# 給提示框中文本框輸入內(nèi)容

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

sleep(2)

# 取消提示框(點(diǎn)擊取消按鈕)

alert.dismiss()

文章“【軟件測(cè)試基礎(chǔ)知識(shí)】自動(dòng)化測(cè)試遇到對(duì)話框怎么辦?”已幫助

>>本文地址:http://liujunjsxg.cn/zhuanye/2020/48262.html

THE END  

聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

1 您的年齡

2 您的學(xué)歷

3 您更想做哪個(gè)方向的工作?

獲取測(cè)試結(jié)果
  • 大前端大前端
  • 大數(shù)據(jù)大數(shù)據(jù)
  • 互聯(lián)網(wǎng)營(yíng)銷互聯(lián)網(wǎng)營(yíng)銷
  • JavaJava
  • Linux云計(jì)算Linux
  • Python+人工智能Python
  • 嵌入式物聯(lián)網(wǎng)嵌入式
  • 全域電商運(yùn)營(yíng)全域電商運(yùn)營(yíng)
  • 軟件測(cè)試軟件測(cè)試
  • 室內(nèi)設(shè)計(jì)室內(nèi)設(shè)計(jì)
  • 平面設(shè)計(jì)平面設(shè)計(jì)
  • 電商設(shè)計(jì)電商設(shè)計(jì)
  • 網(wǎng)頁(yè)設(shè)計(jì)網(wǎng)頁(yè)設(shè)計(jì)
  • 全鏈路UI/UE設(shè)計(jì)UI設(shè)計(jì)
  • VR/AR游戲開(kāi)發(fā)VR/AR
  • 網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全
  • 新媒體與短視頻運(yùn)營(yíng)新媒體
  • 直播帶貨直播帶貨
  • 智能機(jī)器人軟件開(kāi)發(fā)智能機(jī)器人
 

快速通道fast track

近期開(kāi)班時(shí)間TIME