1、動態元素定位不到
解決方法:盡量使用固定元素定位,如沒有固定元素,則采用絕對路徑進行定位,因為元素路徑是唯一且不變的
2、自動化腳本執行速度較慢
盡量使用css方法定位元素,使用等待時,少用sleep方法,盡量不用隱式等待,涉及到一些if elif條件判斷時,盡量把可能發生的條件放在前面寫,這樣可以減少程序判斷的次數,提高效率
3、彈框內有按鈕點擊不到
解決方法:彈框里面有設置滾動條,首先進入彈框里面,將滾動條滑動到最底部才可以點擊確定或者取消按鈕
4、報錯
啟動后,打開谷歌瀏覽器,不出現內容,報瀏覽器不安全|data
解決方法:webdriver-chrome版本升級
5、元素沒有加載出來
因為時間等待原因:顯示等待(只匹配目標元素),隱式等待(等待頁面加載完成),強制等待
6、定位的元素是隨機變化的
解決方法:通過元素xpath或者css來定位
7、iframe或frame處理
解決方法:在元素定位過程中,如果出現了<frame>或者<iframe>標簽,說明該頁面中嵌套了一個新的頁面,該頁面內的元素無法直接定位。因此,在定位新頁面元素之前,我們需要先執行driver.switch_to.frame()方法,切換到該frame下面,再對該frame下的元素進行定位和操作;如果想操作該frame以外的元素,可以通過driver.switch_to.parent_frame()方法切換到上一級frame。
8、出現“object is not iterable”
解決方法:
1) 首先查看腳本,測試用例出現問題
2) 組織用例時出現錯誤(我開始是用for循環遍歷y,加入測試集合中,返回集合,老是會出現錯誤,最后改成下方代碼,直接返回y,解決問題)
9、出現“Indentation Error”
是語法問題,腳本代碼沒有正確對齊
10、使用PO設計模式封裝的頁面元素類
都有初始化函數“__init__”
11、頁面元素調用Page類時候
Page函數,后面括號的“self”不用寫
12、Page的初始化包含(self,driver)兩個元素
在頁面封裝類中,初始化中調用方式為Page.__init__(self,driver)
13、類中定義變量
比如x=“hello”,調用使用:self.x
14、在測試用例調用自己頁面封裝的類時
經過實例化后po=Lzsp(driver),定義函數時候, 不需要再括號中寫self
15、打印輸出時顯示“not all arguments curerted during string format”
是說明前后參數不對應:%前面是一個“%s”,而后面的參數是(“xy”,“xy”)兩個。
行動吧,在路上總比一直觀望的要好,未來的你肯定會感 謝現在拼搏的自己!如果想學習提升找不到資料,沒人答疑解惑時,請及時加入扣群: 320231853,里面有各種軟件測試+開發資料和技術可以一起交流學習哦。
最后感謝每一個認真閱讀我文章的人,禮尚往來總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走:
?
這些資料,對于【軟件測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴上萬個測試工程師們走過最艱難的路程,希望也能幫助到你!