UI自動化測試常見的Exception

一. StaleElementReferenceException:

 - 原因:引用的元素已過期。原因是頁面刷新了,此時當然找不到之前頁面的元素。- 解決方案:不確定什么時候元素就會被刷新。頁面刷新后重新獲取元素的思路不變,這時可以使用python的異常處理語句:try…except…,異常出現時重新執行,關鍵代碼如下

編寫腳本時使用異常try捕獲異常后,頁面刷新后重新獲取元素,可以成功找到元素了:
在這里插入圖片描述
二. ElementClickInterceptedException

- 原因:元素定位相互覆蓋,元素已經找到,但是無法點擊- 解決方案:方法一:使用強制等待,但是每次都有類似的元素無法點擊使用強制等待的話會延長腳本執行時間
time.sleep()    
注意??:之前便遇到過很多次該問題的報錯,就沒有管它,但是隨著越來越多的元素報該錯,每次使用強制等待會大大延長腳本的執行時間。方法二:顯性等待
如下是顯示等待的用法和區別
1. element_to_be_clickable--元素是否可點擊
2. vibility of element_ located--元素是否可見
3. presence_of_element_located--元素是否存在
如上:三種等待方法,最開始我一直使用的是presence_of_element_located,判斷元素是否存在;
最終還是報錯,提示元素元素點擊攔截異常。
element_to_be_clickable--等待元素出現可以點擊,便可以元素定位成功方法三:使用JS點擊
然而有時即使已經顯式等待了,卻仍然會報錯: ElementClickInterceptedException,這多少
有點奇怪。為什么 webdriver 有時就是無法點擊,我不知道,也許這和他首先執行的一些驗證檢查有關,
反正就在這一刻,它不給你點。

方法三的代碼如下:
在這里插入圖片描述
三. NoSuchElementException:

原因:- 前端出現變更,導致定位不到元素;- 頁面未加載出來元素導致元素找不到,需要加個等待;- 定位語法錯誤;- 元素可能在新的Windows窗口,此時需要切換Windows;- 頁面出現偽元素:顯示的是::before、::after這類的元素,被偽元素包裹起來的元素經常會定位不到,此時就需要對偽元素進行處理了,解決方式如:http://testingpai.com/article/1638176966906

四.NoSuchWindowException:

 - 沒找到窗口句柄handle(瀏覽器版本與驅動不兼容)- 注意??:Web自動化中存在哪三種切換:1. windows窗口切換:切換到要操作的窗口;2. alert彈出框操作;3. iframe切換。操作方式如:https://blog.csdn.net/wsy_666/article/details/132325473

五.TimeoutException:
查找元素超時

六. NoSuchAttributeException:
屬性錯誤

六. ElementNotSelectableException:
元素沒有被選中

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/41374.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/41374.shtml
英文地址,請注明出處:http://en.pswp.cn/news/41374.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ClickHouse(二十二):Clickhouse SQL DML操作及導入導出數據

進入正文前,感謝寶子們訂閱專題、點贊、評論、收藏!關注IT貧道,獲取高質量博客內容! 🏡個人主頁:含各種IT體系技術,IT貧道_Apache Doris,大數據OLAP體系技術棧,Kerberos安全認證-CSDN博客 &…

GPT-5出世?OpenAI GPT-5商標已注冊

OpenAI的GPT已經成為了業界標桿,升級速度之快讓人瞠目,別人追GPT-3.5的時候GPT-4橫空出世,差距被拉開了,現在GPT-5就要來了。 據商標律師泄露的消息,OpenAI已于7月18日注冊了GPT-5商標。雖然注冊商標并不罕見&#xf…

【【萌新的STM32學習-9】】

萌新的STM32學習-9 我們在使用某個外設,必須線使能該外設時鐘 SYSTEM 文件夾里面的代碼由正點原子提供,是 STM32F1xx 系列的底層核心驅動函數, 可以用在 STM32F1xx 系列的各個型號上面,方便大家快速構建自己的工程。本章&#xf…

基于IMX6ULLmini的linux裸機開發系列二:使用C語言和SDK點亮LED

引入sdk頭文件 sudo chown -R gec /opt 用這條命令給gec賦權限,否則訪問權限不夠,無法讀取,如下圖成功 目的:解決寄存器地址難查難設置 devices/MCIMX6Y2/MCIMX6Y2.h 記錄外設寄存器及其相關操作 devices/MCIMX6Y2/drivers/fsl_…

Windows+VMware+Ubuntu+Anaconda+VMware Tools

Q1:Windows不支持***agent模擬器 A1:在VMware安裝Ubuntu虛擬機 P1: 下載 VMware-workstation-full-15.5.6-16341506.exe 安裝包(峰哥電腦軟件) P2: 下載Ubuntu鏡像 地址 ubuntu-18.04.6-desktop-amd64.iso P3:搭載鏡…

干翻Dubbo系列第十一篇:Dubbo常見協議與通信效率對比

文章目錄 文章說明 一:協議 1:什么是協議 2:協議和序列化關系 3:協議組成 (一):頭信息 (二):體信息 4:Dubbo3中常見的協議 5:…

華為在ospf area 0單區域的情況下結合pbr對數據包的來回路徑進行控制

配置思路: 兩邊去的包在R1上用mqc進行下一跳重定向 兩邊回程包在R4上用mqc進行下一跳重定向 最終讓內網 192.168.10.0出去的數據包來回全走上面R-1-2-4 192.168.20.0出去的數據包來回全走 下面R1-3-4 R2和R3就是簡單ospf配置和宣告,其它沒有配置&#…

搭建grafana+loki+promtail日志收集系統

準備工作 下載地址 https://github.com/grafana/loki/releases 安裝包放在服務器目錄:/opt wget https://github.com/grafana/loki/releases/download/v2.4.2/loki-linux-amd64.zip wget https://github.com/grafana/loki/releases/download/v2.4.2/promtail-lin…

【備戰csp-j】csp常考題目詳解(3)

三.排列組合 1. 7名學生站成一排,甲、乙必須站在一起有多少不同排法? 答案:1440 解析: 6組人進行全排列:A(6,6); 甲和乙的順序有兩種情況,所以結果要再乘2; …

影響力再度提升,Smartbi多次蟬聯Gartner、IDC等權威認可

近期,思邁特軟件捷報頻傳,Smartbi憑借技術創新實力和產品能力,成功入選Gartner中國增強數據分析代表廠商及自助分析代表廠商,同時,連續三年蟬聯“IDC中國FinTech 50”榜單。 Part.1 再次被Gartner提名 Smartbi深度融…

重塑DTC規則:元氣森林的全渠道轉型

元氣森林作為迄今為止用5-6年時間最快達到70億年銷售額的飲料品牌(統一、可口可樂、東鵬特飲都花了15年左右,康師傅花了10年)。元氣森林于2016年在北京創立,憑借健康產品理念和新潮營銷方式,一款主打“0糖0卡0脂”概念…

激活函數總結(十一):激活函數補充(Absolute、Bipolar、Bipolar Sigmoid)

激活函數總結(十一):激活函數補充 1 引言2 激活函數2.1 Absolute激活函數2.2 Bipolar激活函數2.3 Bipolar Sigmoid激活函數 3. 總結 1 引言 在前面的文章中已經介紹了介紹了一系列激活函數 (Sigmoid、Tanh、ReLU、Leaky ReLU、PReLU、Swish、…

C++ auto關鍵字

文章目錄 一、auto的推導規則二、auto的限制 C11 中有:auto 類型推導 auto x 5; // OK: x 是 int 類型 auto pi new auto(1); // OK: pi 被推導為 int* const auto *v &x, u 6; // OK: v是const int*類型,u是const int類型 static auto y 0.0;…

【Java】批量生成條形碼-itextpdf

批量生成條形碼 Controller ApiOperation("商品一覽批量生成商品條形碼")PostMapping("/batchGenerateProdBarCode")public void batchGenerateProdBarCode(RequestBody ProductListCondition productListCondition,HttpServletResponse response){import…

使用Spring-Security后,瀏覽器不能緩存的問題

Spring-Security在默認情況下是不允許客戶端進行緩存的,在使用時可以通過禁用Spring-Security中的cacheControl配置項允許緩存。 protected void configure(HttpSecurity http) throws Exception {// 允許緩存配置http.headers().cacheControl().disable(); }

Java中使用流將兩個集合根據某個字段進行過濾去重?

Java中使用流將兩個集合根據某個字段進行過濾去重? 在Java中,您可以使用流(Stream)來過濾和去重兩個集合。下面是一個示例代碼,展示如何根據對象的某個字段進行過濾和去重操作: import java.util.ArrayList; import java.util.List; impor…

“代碼馭寵而行“:探索Python的魔法世界,開啟編程奇幻之旅!

文章目錄 🍀引言🍀第一步:安裝Python和開發環境🍀第二步:掌握基本語法🍀第三步:使用Python庫和模塊🍀第四步:實踐項目和練習🍀第五步:學習進階主題…

origin修改默認的字體等

因為默認是中文宋體,每次切換成英文尤其是希臘字母就很麻煩。 選擇菜單欄的【設置】——【選項】點擊。 彈出窗口中選擇【文本字體】 設置成你需要的字體就好。 這里同樣可以更改頁面、圖等的默認設置。 效果: 選擇插入文字后,自動更改成…

銀河麒麟V10 達夢安裝教程

安裝前先準備要安裝包,包需要需要區分X86和arm架構。 版本為:dm8_20230419_FTarm_kylin10_sp1_64.iso 達夢數據庫下載地址: https://www.aliyundrive.com/s/Qm7Es5BQM5U 第一步創建用戶 su - root 1. 創建安裝用戶組 dminstall。 groupad…

前饋神經網絡優化器

引用的知乎上的文章內容,現在有些地方還不太明白,留待以后查看。 import math import numpy as np import matplotlib.pyplot as pltRATIO 3 # 橢圓的長寬比 LIMIT 1.2 # 圖像的坐標軸范圍class PlotComparaison(object):"""多種優化…