工做過程當中遇到坑可能須要轉換一下思惟,使用其餘途徑達到殊途同歸之妙,下面是我在作自動化測試工做中世紀遇到的幾個問題,以及解決辦法,特此記錄分享一下:html
- 項目爲一個我web編輯器,測試要求將文件中內容輸入到編輯器中。測試環境robot framework
設計者在這個頁面欠套了三層frame。遇到的問題是外面兩層frame能正常切換,可是最裏層frame切換進去後並不報錯的狀況下,不能定位到最裏層的元素。這樣就不能實現輸入功能。web
初步解決思路:使用copy和paste方式進行輸入,可是此時就須要保證光標定位在編輯器中。由於自動化腳本執行到paste以前光標就會失去焦點,所以此時陷入了僵局。編輯器
擴展思路:雖然不能切換到最裏層frame,點擊編輯器的body部分,可是能夠點擊外層的frame。由於元素點擊過程是點擊元素中心位置,這樣的點擊操做也可以使光標定位在編輯器中。測試
進一步擴展:js在點擊元素操做時,是不須要像selenium同樣切換frame的,所以可使用js直接操做裏層body元素spa
- 在web測試過程當中,根據頁面元素寫了如下locator,xpath=//div[@class= 'file']//a[span[@class='file_name' and contains(text(),'testppt')] and span[@class='file_extension' and text()='pptx']]. 可是腳本卻一直定位不到元素。一度懷疑本身的 locator寫錯了。爲了驗證將locator改寫成最簡單的. xpath=//div[@class='file']//span[text()='testppt']仍然找不到元素,簡直要崩潰的節奏。最後關頭髮現居然是html中class屬性後面有一個空格。雖然這算是開發的bug,可是確實也考驗測試者的細心與思路的擴展。、
- 項目爲pc,client測試,要求經過軟件打開一個ppt文件,並驗證ppt中存在一段預期的文字。遇到的問題是powerpoint軟件中的元素使用公司提供的軟件以及autoit都不能準確識別文字的內容,也就是所獲取的文本框元素value值爲空。解決思路爲:使用copy的方式將文本框中內容複製到剪切板中,robot framework中使用關鍵字可以獲取剪切板內容。並以此進行文本的對比。