python+selenium面試題


一、selenium中如何判斷元素是否存在
  
expected_conditions模塊提供了多種校驗方式,我常用的一種是presence_of_element_located(判斷某個元素是否被加到了dom樹里,
並不代表該元素一定可見,如果定位到就返回WebElement)

二、selenium中hidden或者是display = none的元素是否可以定位到?
  可以定位到,但是不能操作,為了顯示我們會的更多,我們可以說通過is_displayed()方法來判斷顯示或不顯示,如果想點擊的話,可以用js
去掉dispalay=none的屬性。

三、selenium中如何保證操作元素的成功率?也就是說如何保證我點擊的元素一定是可以點擊的?
  通過wait模塊中的WebDriverWait類提供的until或until_not方法與expected_conditions結合使用,進行二次封裝。

四、如何提高selenium腳本的執行速度?
  1.少用sleep,盡量不用implicitly_wait
  2.多用顯式等待方法

五、用例在運行過程中經常會出現不穩定的情況,也就是說這次可以通過,下次就沒辦法通過了,如何去提升用例的穩定性?
  通過wait模塊中的WebDriverWait類提供的until或until_not方法與expected_conditions結合使用,進行二次封裝。

六、自動化測試的時候是不是需要連接數據庫做數據校驗?
  UI自動化不需要、接口測試會需要

七、id,name,class,xpath, css selector這些屬性,你最偏愛哪一種,為什么?
  我喜歡用css selector  css語法簡潔,定位快(xpath語法長,定位慢,還不穩定)

八、如何去定位頁面上動態加載的元素?
  通過wait模塊中的WebDriverWait類提供的until循環的去判斷是否出現了要用的元素

九、如何去定位屬性動態變化的元素?
  先去找該元素不變的屬性,要是都變,那就找不變的父元素,用層級定位

十、怎樣去選擇一個下拉框中的value=xx的option?
  1、通過兩次click可以做到
  2、通過執行js腳本做到(前提是你能寫出js代碼)
  3、selenium提供了select模塊,我們可以通過select模塊中的方法定位,比如 index_of、value、text
  4、還可以通過xpath定位,但是有時會出錯誤

十一、UI自動化最大的缺陷是什么?
  
需求變動大的時候,維護成本大

十二、webdriver可以用來做接口測試嗎?
  
不可以、webdriver是專門做webUI自動化的。


免責聲明!

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



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