若是一個元素沒法定位,腳本報錯了,你通常會考慮哪些方面的緣由?

若是一個元素沒法定位,腳本報錯了,你通常會考慮哪些方面的緣由?程序員

第一個,頁面加載過慢,你要去加等待時間。面試

而後頁面可能有frame框架頁,你須要先跳轉進去。框架

還有可能元素是動態元素,什麼叫動態元素?有些元素它的id或者名字是動態的,咱們能夠經過父節點或兄弟節點去定位,定位方式要優化。測試

還有可能這些元素識別了,可是不能操做,須要會用js把前置的操做完成。優化

 


若是一個元素沒法定位,你通常會考慮哪些方面的緣由?網站

總結:3d

1.頁面加載元素過慢,加等待時間。orm

2.頁面有frame框架頁,須要先跳轉入frame框架再定位。視頻

3.可能該元素是動態元素,定位方式要優化,可使用部分元素定位或經過父節點或兄弟節點定位。教程

4.可能識別了元素,可是不能操做,好比元素不可用,不可寫等。須要使用js先把前置的操做完成。

相信前面三個,你們好理解一點。

第四個咱們一塊兒來看實際的案例

(這其實也是一個面試題,面試官會問到你,你作自動化過程當中遇到了什麼問題,你是如何解決的?理解以後你就能夠拿來和麪試官說)

我以前定位到一個元素,明明定位到了,可是卻不能操做,那麼我是怎麼處理的?

用js把前置的操做完成。


我打開了一個經常使用網站

 

 

像12306網站這個元素你就不能夠操做,不能夠輸入,不知道平時買票的時候有沒有注意過,能夠如今試一下。

 

 

這個出發日期是操做不了的,你是刪除不了的,你只能選擇,你輸入也輸入不了。(沒法輸入,沒法刪除)

由於它有一個屬性,readonly屬性,只是能夠讀的屬性,那麼你把它幹掉,而後你就能夠去操做,能夠去輸入。

 

 

 

 

這是有一種狀況,有不少種狀況都是這樣的,好比說:

這是我以前寫的一個項目,這都是我本身在本地框架代碼。

 

這箭頭裏面實際上是有一個元素的,這裏面有一個按鈕,進入特殊通道,裏面有「特殊」的服務。好比說是VIP的服務,裏面是有一個按鈕的,但普通屬性是進不去的,沒有這個按鈕給你,沒有這個權限。

說到這個權限,我再囉嗦幾句,其實權限測試挺重要,不少系統它有不少的權限測試。不少系統它是分爲不少的角色,那每一個角色進取它的功能是不同的,像這個東西就特別適合作自動化。否則你本身要切換108種角色,打開一個網站,退出登陸退出登陸,去測試。就很煩,這個也是個人經驗。

權限你們應該都測試過吧,我以前是用自動化把權限這一塊測得完完整整。權限的整套功能自動化測試完了,由於每次都要退出登陸退出登陸,很是麻煩,一樣的功能,只是不一樣的角色,不停的切換。其實這個你們之後也能夠做爲面試的一個點。你負責自動化,你負責自動化,你用自動化作了什麼模塊。

不少朋友說我作的登陸,就沒了,我用自動化去作了登陸,你作登陸幹什麼啊,登陸這個東西已經很好了,不用你測試了。不少朋友寫自動化腳本也是寫登陸,以後就就沒了,玩不少東西,搞完登陸後面就沒了,見到過不少這樣的狀況。

因此權限模塊這一塊你們也能夠去說一說。

扯遠了,迴歸正題。

 

 

其實這裏面有一個按鈕,你是看不到的,你若是去點,確定就會報錯,由於這個元素都不可見,那麼咱們想辦法讓它顯示出來,這裏面有個屬性叫hidden隱藏起來了。

 

 

經過一個簡單的屬性更改,它就展現出來了。

 

像這個屬性更改,咱們作自動化過程當中,不可能用手動操做去改這裏的屬性,咱們要經過JS去改

若是暫時看不懂的,沒有關係,你只須要理解這是經過一個JS腳本在改它。

 

腳本語言放到咱們代碼裏面去,執行一下就能夠的,不論是改它的元素屬性讓它消失讓它出現,都是經過代碼自動實現。

還有一些狀況,能夠公號程序員一凡 領取往期的視頻教程。

 

不要潛水,都出來冒個泡,畢竟相遇就是緣分,交個朋友,都是作測試的,說不定哪一天面試的時候就問到了我講解過的面試題,你可能知道,但不知道該怎麼去表述,這個面試題,你們學到了的,能夠點贊支持一下!說不定就又在一塊兒工做了。

如如有緣,江湖再見!

相關文章
相關標籤/搜索