UI自動(dòng)化測(cè)試問題總結(jié)

1.implicitly_wait()與time.sleep()之間的區(qū)別

implicitly_wait()表示隱式等待,如果找不到元素會(huì)一直循環(huán)訪問直到時(shí)間用盡

time.sleep()表示顯式等待,固定等待時(shí)間

建議使用implicitly_wait(),如果程序執(zhí)行失敗,再用time.sleep(),這樣會(huì)大大提高程序運(yùn)行速度。但是,有一個(gè)問題是,遇到過下列情況:

(1)點(diǎn)擊IT->網(wǎng)絡(luò)運(yùn)營(yíng)中心

(2)implicitly_wait()

(3)點(diǎn)擊導(dǎo)入排名按鈕。

(4)上傳文件

上傳正確文件時(shí)會(huì)報(bào)錯(cuò),上傳其他文件均不會(huì)報(bào)錯(cuò),顯示找不到導(dǎo)入按鈕元素或該元素不能被點(diǎn)擊,原因暫不清楚。

2.執(zhí)行JavaScript時(shí)報(bào)錯(cuò)找不到元素

先等待網(wǎng)頁(yè)加載完成

windows.onload() {]

//javascript

}

3.firefox瀏覽器下載文件中文亂碼問題

在http報(bào)文的header中可以看到文件下載時(shí),會(huì)先把文件名進(jìn)行編碼再轉(zhuǎn)碼得到,如果該網(wǎng)站用java開發(fā),字符用的不是utf-8就會(huì)出現(xiàn)這樣的問題。chrome和ie不會(huì)對(duì)下載文件進(jìn)行處理,就不會(huì)亂碼。

參考資料:https://www.cnblogs.com/godtrue/p/4333262.html

4.excel文件的基本操作,包括讀寫,比較兩個(gè)文件是否相同

import xlwt,xlrd模塊,將讀出來(lái)的文件存儲(chǔ)為list,python2.X通過cmp(list1,list2)進(jìn)行比較,python3.X通過import operator模塊的operator.eq(list1,list2)。

list操作參考資料:http://www.runoob.com/python/att-list-cmp.html

4.firefox瀏覽器下載文件自動(dòng)化

self.fp=webdriver.FirefoxProfile()

#設(shè)置文件保存路徑

self.fp.set_preference("browser.download.dir","E:\\eclipse-workspace\\RankSystem\\TestData\\")

# 2表示自定義文件夾 0表示保存到桌面

self.fp.set_preference("browser.download.folderList", 2)

#在開始下載時(shí)是否顯示下載管理器

self.fp.set_preference("browser.download.manager.showWhenStarting",False)

#設(shè)置自動(dòng)保存的文件類型,如果firefox不能自動(dòng)保存,一定是文件類型不對(duì)

self.fp.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/vnd.ms-excel")

driver=webdriver.Firefox(firefox_profile=fp)

文件類型參考資料:http://www.w3school.com.cn/media/media_mimeref.asp

5.Python webdriver 定位frameset中的frame

參考資料:http://www.itdecent.cn/writer#/notebooks/18047706/notes/20274252

6.display=none的問題

參考資料:http://www.itdecent.cn/writer#/notebooks/18047706/notes/19838912

7.測(cè)試數(shù)據(jù)的讀入

參考資料:http://www.itdecent.cn/writer#/notebooks/18047706/notes/20467916

8.彈出窗口的處理

如果是瀏覽器自帶的彈出窗口,即元素定位不到的,用switch_to_alert()處理就可以。如果是開發(fā)人員自寫的窗口,用元素定位直接操作即可。

9.同一頁(yè)面進(jìn)行多個(gè)測(cè)試用例

@classmethod

def setUpClass(cls):

pass

@classmethod

def tearDownClass(cls):

pass

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容