測試開發面試題

簡述自動化測試的三大等待

  • 強制等待。直接使用time.sleep()方法讓程序暫停指定的時間。優點是實現簡單,缺點是不夠靈活,可能會導致不必要的等待時間浪費。
  • 隱式等待。設置一個固定的等待時間,在這個時間內不斷嘗試去查找元素,如果能找到,則繼續執;如果找不到,則拋出異常。在瀏覽器對象的整個生命周期起作用,優點是能夠適應頁面加載速度,缺點就是隱式等待會對整個webDriver期間全局生效,意味著不需要等待的場景下,也會有潛在的延遲,無形中延長了整體測試執行時間。一般都是使用driver.implicitly_wait()實現
  • 顯式等待。他是觸發式等待策略,能夠支持測試腳本中某個特定條件變成真之后再繼續執行。使用的是webDriverWait類

你對 selenium 二次封裝的關鍵字,是怎么封裝的?以等待元素的關鍵字舉例,設計了哪些參數?

主要就是對一些繁瑣的操作抽象成簡單易懂的函數或方法。

以等待元素的關鍵字舉例,需要設計:

  • 元素定位方式、定位表達式。根據id還是xpath等
  • 超時時間。如果超過超市時間還沒有滿足條件,則拋出異常
  • 輪訓時長。設置多久檢查一次是否滿足條件。
  • 異常處理。能夠自定義超市或條件不符合的處理例如,比如打印錯誤日志,截圖等。

做WebUI自動化遇到過那些問題,如何解決的?

元素定位不穩定。使用XPATH可以減少這種情況

元素異步加載問題。等待元素加載即可

上述都是一些常規的問題,在我實際工作中,使用UI自動化測試過實時渲染的表格,這種表格前端使用的是Canvas,也就是對圖形進行實時渲染,這種情況下F12抓取DOM樹只能抓到這個canvas這個標簽,測試這種情況,我當時使用的是圖像對比。

(如果繼續問圖像對比是如何實現的,則)可以繼續說,使用PIL庫進行比較。先截取當前頁面,和預設的圖片去做比對,可以使用工具去標注不同的像素區域。

如果你做接口測試,接口返回成功,但實際數據庫沒有相應數據,可能存在什么問題?如何定位?

  • 最開始,我會考慮是否數據庫鏈接錯了,那數據庫肯定是沒有相應數據的
  • 如果數據庫正確的,簡單的考慮就是網絡不好,沒有加載出來,多刷新一下等下,也會嘗試直接使用sql語句去查詢;復雜一點的考慮,可能就是后端的代碼問題,也許還沒提交事務,就先返回了響應,那肯定也是沒有數據的
  • 最后還會找后端開發協助排查,嘗試復現,或者到服務器上面翻日志

性能測試了解嗎?(應該就是說會關注那些性能指標)

你是如何設計測試方案嗎?是如何測試的?

安全測試了解嗎?

Webdriver的原理(應該是和WebUI相關的)?
?

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

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

相關文章

Java17 --- SpringCloud之Sentinel

目錄 一、Sentinel下載并運行 二、創建8401微服務整合Sentinel 三、流控規則 3.1、直接模式 3.2、關聯模式 3.3、鏈路模式 3.3.1、修改8401代碼 3.3.2、創建流控模式 3.4、Warm UP(預熱) ?編輯 3.5、排隊等待 四、熔斷規則 4.1、慢調用比…

【C++】09.vector

一、vector介紹和使用 1.1 vector的介紹 vector是表示可變大小數組的序列容器。就像數組一樣,vector也采用的連續存儲空間來存儲元素。也就是意味著可以采用下標對vector的元素進行訪問,和數組一樣高效。但是又不像數組,它的大小是可以動態改…

操作系統實驗四 (綜合實驗)設計簡單的Shell程序

前言 因為是一年前的實驗,很多細節還有知識點我都已經遺忘了,但我還是盡可能地把各個細節講清楚,請見諒。 1.實驗目的 綜合利用進程控制的相關知識,結合對shell功能的和進程間通信手段的認知,編寫簡易shell程序&…

Excel透視表:快速計算數據分析指標的利器

文章目錄 概述1.數據透視表基本操作1.1準備數據:1.2創建透視表:1.3設置透視表字段:1.4多級分類匯總和交叉匯總的差別1.5計算匯總數據:1.6透視表美化:1.7篩選和排序:1.8更新透視表: 2.數據透視-數…

【B站 heima】小兔鮮Vue3 項目學習筆記Day02

文章目錄 Pinia1.使用2. pinia-計數器案例3. getters實現4. 異步action5. storeToRefsx 數據解構保持響應式6. pinia 調試 項目起步1.項目初始化和git管理2. 使用ElementPlus3. ElementPlus 主題色定制4. axios 基礎配置5. 路由設計6. 靜態資源初始化和 Error lens安裝7.scss自…

Github 2024-05-24 開源項目日報 Top10

根據Github Trendings的統計,今日(2024-05-24統計)共有10個項目上榜。根據開發語言中項目的數量,匯總情況如下: 開發語言項目數量Python項目3非開發語言項目2TypeScript項目2JavaScript項目1Kotlin項目1C#項目1C++項目1Shell項目1Microsoft PowerToys: 最大化Windows系統生產…

軟件設計師備考筆記(十):網絡與信息安全基礎知識

文章目錄 一、網絡概述二、網絡互連硬件(一)網絡的設備(二)網絡的傳輸介質(三)組建網絡 三、網絡協議與標準(一)網絡的標準與協議(二)TCP/IP協議簇 四、Inter…

某神,云手機啟動?

某神自從上線之后,熱度不減,以其豐富的內容和獨特的魅力吸引著眾多玩家; 但是隨著劇情無法跳過,長草期過長等原因,近年脫坑的玩家多之又多,之前米家推出了一款云某神的app,目標是為了減少用戶手…

RedisTemplateAPI:String

文章目錄 ?1 String 介紹?2 命令?3 對應 RedisTemplate API???? 3.1 添加緩存???? 3.2 設置過期時間(單獨設置)???? 3.3 獲取緩存值???? 3.4 刪除key???? 3.5 順序遞增???? 3.6 順序遞減 ?4 以下是一些常用的API?5 應用場景 ?1 String 介紹 Str…

ue引擎游戲開發筆記(47)——設置狀態機解決跳躍問題

1.問題分析: 目前當角色起跳時,只是簡單的上下移動,空中仍然保持行走動作,并沒有設置跳躍動作,因此,給角色設置新的跳躍動作,并優化新的動作動畫。 2.操作實現: 1.實現跳躍不復雜&…

LabVIEW常用的電機控制算法有哪些?

LabVIEW常用的電機控制算法主要包括以下幾種: 1. PID控制(比例-積分-微分控制) 描述:PID控制是一種經典的控制算法,通過調節比例、積分和微分三個參數來控制電機速度和位置。應用:廣泛應用于直流電機、步…

Java中的繼承和多態

繼承 在現實世界中,狗和貓都是動物,這是因為他們都有動物的一些共有的特征。 在Java中,可以通過繼承的方式來讓對象擁有相同的屬性,并且可以簡化很多代碼 例如:動物都有的特征,有名字,有年齡…

Mybatis源碼剖析---第一講

Mybatis源碼剖析 基礎環境搭建 JDK8 Maven3.6.3&#xff08;別的版本也可以…&#xff09; MySQL 8.0.28 --> MySQL 8 Mybatis 3.4.6 準備jar&#xff0c;準備數據庫數據 把依賴導入pom.xml中 <properties><project.build.sourceEncoding>UTF-8</p…

Linux學習筆記:線程

Linux中的線程 什么是線程線程的使用原生線程庫創建線程線程的id線程退出等待線程join分離線程取消一個線程線程的局部存儲在c程序中使用線程使用c自己封裝一個簡易的線程庫 線程互斥(多線程)導致共享數據出錯的原因互斥鎖關鍵函數pthread_mutex_t :創建一個鎖pthread_mutex_in…

雷電預警監控系統:守護安全的重要防線

TH-LD1在自然界中&#xff0c;雷電是一種常見而強大的自然現象。它既有震撼人心的壯觀景象&#xff0c;又潛藏著巨大的安全風險。為了有效應對雷電帶來的威脅&#xff0c;雷電預警監控系統應運而生&#xff0c;成為現代社會中不可或缺的安全防護工具。 雷電預警監控系統的基本…

makefile 編寫規則

1.概念 1.1 什么是makefile Makefile 是一種文本文件&#xff0c;用于描述軟件項目的構建規則和依賴關系&#xff0c;通常用于自動化軟件構建過程。它包含了一系列規則和指令&#xff0c;告訴構建系統如何編譯和鏈接源代碼文件以生成最終的可執行文件、庫文件或者其他目標文件…

Node.js知識點以及案例總結

思考&#xff1a;為什么JavaScript可以在瀏覽器中被執行 每個瀏覽器都有JS解析引擎&#xff0c;不同的瀏覽器使用不同的JavaScript解析引擎&#xff0c;待執行的js代碼會在js解析引擎下執行 為什么JavaScript可以操作DOM和BOM 每個瀏覽器都內置了DOM、BOM這樣的API函數&#xf…

開源模型應用落地-食用指南-以最小成本博最大收獲

一、背景 時間飛逝&#xff0c;我首次撰寫的“開源大語言模型-實際應用落地”專欄已經完成了一半以上的內容。由衷感謝各位朋友的支持,希望這些內容能給正在學習的朋友們帶來一些幫助。 在這里&#xff0c;我想分享一下創作這個專欄的初心以及如何有效的&#xff0c;循序漸進的…

STM32F103C8T6 HC-SR04超聲波模塊——超聲波障礙物測距(HAl庫)

超聲波障礙物測距 一、HC-SR04超聲波模塊&#xff08;一&#xff09;什么是HC-SR04&#xff1f;&#xff08;二&#xff09;HC-SR04工作原理&#xff08;三&#xff09;如何使用HC-SR04&#xff08;四&#xff09;注意事項 二、程序編寫&#xff08;一&#xff09;CubeMX配置1.…

2024全新Langchain大模型AI應用與多智能體實戰開發

2024全新Langchain大模型AI應用與多智能體實戰開發 LangChain 就是一個 LLM 編程框架&#xff0c;你想開發一個基于 LLM 應用&#xff0c;需要什么組件它都有&#xff0c;直接使用就行&#xff1b;甚至針對常規的應用流程&#xff0c;它利用鏈(LangChain中Chain的由來)這個概念…