Cypress-自動化測試-獲取元素過程中遇到的問題及解決方法


1、input標簽類型為number在chrome瀏覽器中無法寫入元素的值

<input type=number,id='hr'.......>向這個元素中寫入數據的時候,使用cy.get('#hr').type()的方式,在chrome瀏覽器下寫入失敗,使用electron瀏覽器運行可以運行成功,發現是chrome瀏覽器的bug。

解決方法:使用setAttruibute方法,改變元素的類型,再寫入數據。

具體方法:cy.get('#hr').then((e1)=>{

  el.setAttriubute('type','text')

}).type('值')

2、input標簽屬性為readonly時寫入數據

<input type=text,id='hr',readonly.......>向這個元素中寫入數據的時候,可以先刪除元素readonly再寫入

解決方法:使用removeAttr()方法,改變元素的類型,再寫入數據。

具體方法:cy.get('#hr').then((e1)=>{el.removeAttr('readonly')}).type('值')

3、界面元素遮擋的情況下如何寫入數據

有時候,我們在界面中輸入數據時,例如下拉框正好擋住了要寫的輸入框,cypress可能就無法找到元素,使用強制輸入的方法{force:true}.

cy.get('#hr').type('值',{force:true}.)

此方法在點擊時也可以使用,click({force:true}).


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM