面試題目錄:
- web自動化面試題:
- 一、Selenium中hidden或者是display = none的元素是否可以定位到?
- 二、如何提高Selenium腳本的執行速度?
- 三、你的自動化用例的執行策略是什么?
- 四、id,name,class,xpath, css selector這些屬性,你最偏愛哪一種,為什么?
- 五、如何去定位頁面上動態加載的元素?
- 六、如何去定位屬性動態變化的元素?
- 七、什么是page object設計模式?
- 八、什么是斷言?
- 九、你覺得自動化測驗最大的缺陷是什么?
- APP自動化面試題:
- 一、Android APP 記憶體不足時, 系統如何結束行程獲得記憶體?
- 二、APP 測驗常見的嚴重問題有哪些? 分別引起的原因有哪些?
- 三、請簡單介紹你曾使用過的一款 APP 自動化測驗工具 ?
- 四、Android 測驗與 web 測驗有什么區別?
- 五、app 測驗有哪幾種環境?
- 六、簡單介紹一下 Android SDK 的安裝步驟:
- 七、請簡要介紹一下移動應用及其服務端的測驗點?
- 八、如何判斷 app 的 bug 是客戶端問題還是后臺問題
- 九、安卓中如何取出日志資訊?
- 介面自動化面試題:
- 一、按你的理解,軟體介面是什么?
- 二、HTTP和HTTPS協議區別?
- 三、HTTPS在哪一層?
- 四、get和post區別是什么?
- 五、常見的POST提交資料方式
- 六、什么是Http協議無狀態協議?怎么解決HTTP協議無狀態協議
- 七、cookie和session的區別
- 面試題資料領取:
- 更多面試題領取請點擊這里領取
web自動化面試題:
一、Selenium中hidden或者是display = none的元素是否可以定位到?
不能,可以寫JavaScript將標簽中的hidden先改為0,再定位元素
Selenium中如何保證操作元素的成功率?也就是說如何保證我點擊的元素一定是可以點擊的?
1.添加元素智能等待時間 driver.implicitly_wait(30)
2.添加強制等待時間(比如python中寫 sleep)
3.try 方式進行 id,name,clas,x path, css selector 不同方式進行定位,如果第一種失敗可以自動嘗試第二種
二、如何提高Selenium腳本的執行速度?
代碼優化,多任務,分布式部署都是可以提升腳本執行速度的,
用例在運行程序中經常會出現不穩定的情況,也就是說這次可以通過,下次就沒辦法通過了,如何去提升用例的穩定性?
1.time.sleep( )
2.driver.implicitly_wait(30)
3.多用 try 捕捉,處理例外
三、你的自動化用例的執行策略是什么?
自動化測驗與軟體開發本質上是一樣的,利用自動化測驗工具,經過測驗需求分析,設計出自動化測驗用例,從而搭建自動化測驗的框架,設計與撰寫自動化腳本,驗證測驗腳本的正確性,最終完成自動化測驗測驗腳本(即主要功能為測驗的應用軟體)并輸出測驗結果
自動化測驗的時候是不是需要連接資料庫做資料校驗?
從資料庫層面來進行資料校驗可以更方便驗證系統的資料處理方面是否正確,資料處理邏輯正常后,UI層面上的校驗也是需要做的,
四、id,name,class,xpath, css selector這些屬性,你最偏愛哪一種,為什么?
css 、xpath 幾乎所有的元素都可以定位到,但是它們的短處在于頁面上更改了元素后位置很容易改變,所以首先使用的還是id或者name等,
五、如何去定位頁面上動態加載的元素?
觸發動態加載元素的事件,直至動態元素出現,進行定位
六、如何去定位屬性動態變化的元素?
xpath或者css通過同級、父級、子級進行定位
點擊鏈接以后,Selenium是否會自動等待該頁面加載完畢?
會的
七、什么是page object設計模式?
簡單來說,就是把頁面作為物件,在使用中傳遞頁面物件,來使用頁面物件中相應的成員或者方法,能更好的體現面向物件語言(比如java或者python)的面向物件和封裝特性,
如何在定位元素后高亮元素(以除錯為目的)?
用JavaScript等腳本來重置元素屬性,給定位的元素加背景、邊框
八、什么是斷言?
斷言的英文是assertion,斷言檢查的英文是assertion checking,
斷言是指定一個程式必須已經存在的狀態的一個邏輯運算式,或者一組程式變數在程式執行期間的某個點上必須滿足的條件,
九、你覺得自動化測驗最大的缺陷是什么?
1.不穩定
2.可靠性
3.不易維護
4.成本與收益
十、Webdriver可以用來做介面測驗嗎?
介面測驗有現成的模塊來處理,WebDriver是用于做WebUI自動化測驗的,如果要實作介面測驗,可以使用Requests模塊來實作
APP自動化面試題:
一、Android APP 記憶體不足時, 系統如何結束行程獲得記憶體?
系統優先結束被掛起(暫停)的行程,釋放記憶體
二、APP 測驗常見的嚴重問題有哪些? 分別引起的原因有哪些?
常見的有 crash、ANR(應用無回應、卡死),一般由設備碎片化、網路波動大、記憶體泄漏、代碼撰寫錯誤
三、請簡單介紹你曾使用過的一款 APP 自動化測驗工具 ?
開放性問題,帶點主觀意見
1.對比其他熟悉的自動化工具的優缺點
2.自動化的簡要方案(簡要的同時關鍵內容請具體),(提示: appnium 等)
四、Android 測驗與 web 測驗有什么區別?
相同點:
1.設計測驗用例均依據等價類、邊界值等方法,測驗原理相同;
2.大多數都采用黑盒測驗方法來驗證業務功能;
3.需要檢查界面布局、風格和按鈕是否美觀、統一等(UI測驗);
4.測驗頁面載入和翻頁的速度、登錄時長是否溢位等問題(性能測驗)
5.測驗應用系統的穩定性;
不同點:
1.手機作為通信工具,通信等一些行為會對APP產生(中斷測驗)
2.手機用戶對app 產品的安裝卸載操作:從上一版本/上兩個版本直接升級到最新版本(安裝卸載測驗);
3.web自動化測驗使用的工具較常用的是selenium,而android手機自動化測驗比較常用的自動化工具是monkey、monkeyrunner、Appium(測驗工具不一樣)
五、app 測驗有哪幾種環境?
- 本地環境: app 安裝的手機環境和電腦搭建的自動化測驗環境(比如安卓 SDK 等等) ,
- 服務器環境: war 包部署的服務器, 服務器可以通過瀏覽器訪問, 也可以通過 app 去訪問,(訪問的是 web 程式的介面)
六、簡單介紹一下 Android SDK 的安裝步驟:
- 下載 jdk 和安卓 sdk
- 安裝 jdk, 配置環境變數(java_home、 classpath、 path)
七、請簡要介紹一下移動應用及其服務端的測驗點?
- 移動應用主要有權限、安裝運行卸載、UI、功能、性能、中斷、兼容性、安全性、回歸、升級更新、用戶體驗,(app 的 11 大測驗點)
- 服務端有介面測驗、性能測驗、安全測驗,
八、如何判斷 app 的 bug 是客戶端問題還是后臺問題
這個要根據業務來,一般資料的問題前端的問題多些,一般做法是有問題提給前端開發, 他們知道是他們自己的問題還是后臺回傳的資料問題,
九、安卓中如何取出日志資訊?
- 把安卓系統日志資訊實時匯入到本地: adb logcat -v time > d:\mylog.log
- 運行使用某個 app,實時獲取該 app 的日志資訊(cmd 里面的回傳資訊) :
adb shell monkey -p com.android.calendar -v 1000 > d:\mylog2.log
介面自動化面試題:
一、按你的理解,軟體介面是什么?
答:
就是指程式中具體負責在不同模塊之間傳輸或接受資料的并做處理的類或者函式,
二、HTTP和HTTPS協議區別?
答:
https協議需要到CA(Certificate Authority,證書頒發機構)申請證書,一般免費證書較少,因而需要一定費用;
http是超文本傳輸協議,資訊是明文傳輸,Https協議是由SSL+Http協議構建的可進行加密傳輸、身份認證的網路協議,比http協議安全;
http和https使用的是完全不同的連接方式,用的埠也不一樣,前者是80,后者是443;
三、HTTPS在哪一層?
以前我面試很喜歡提網路協議的問題,有朋友說我裝X,不實用,稍有點研究網路知識,實際就不難回答
答:HTTPS在應用層,
四、get和post區別是什么?
答:POST和GET都是向服務器提交資料,并且都會從服務器獲取資料,
區別:
1)傳送方式:get通過地址欄傳輸,post通過報文傳輸
2)傳送長度:get引數有長度限制(受限于url長度),而post無限制
3)GET產生一個TCP資料包(對于GET方式的請求,瀏覽器會把http header和data一并發送出去,服務器回應200回傳資料),POST產生兩個TCP資料包(對于POST,瀏覽器先發送header,服務器回應100 continue,瀏覽器再發送data,服務器回應200 ok回傳資料)
4)get請求引數會被完整保留在瀏覽歷史記錄里,而post中的引數不會被保留
5)在做資料查詢時,建議用GET方式;而在做資料添加、修改或洗掉時,建議用post方式
五、常見的POST提交資料方式
答:
主要有四種方式:application/x-www-form-urlencoded、multipart/form-data、application/json、text/xml等,
六、什么是Http協議無狀態協議?怎么解決HTTP協議無狀態協議
答:
無狀態是指協議對于事務處理沒有記憶能力,服務器不知道客戶端是什么狀態,即我們給服務器發送 HTTP 請求之后,服務器根據請求,會給我們發送資料過來,但是,發送完,不會記錄任何資訊,HTTP 是一個無狀態協議,這意味著每個請求都是獨立的,Keep-Alive 沒能改變這個結果,缺少狀態意味著如果后續處理需要前面的資訊,則它必須重傳,這樣可能導致每次連接傳送的資料量增大,另一方面,在服務器不需要先前資訊時它的應答就較快,HTTP 協議這種特性有優點也有缺點,優點在于解放了服務器,每一次請求“點到為止”不會造成不必要連接占用,缺點在于每次請求會傳輸大量重復的內容資訊,客戶端與服務器進行動態互動的 Web 應用程式出現之后,HTTP 無狀態的特性嚴重阻礙了這些應用程式的實作,畢竟互動是需要承前啟后的,簡單的購物車程式也要知道用戶到底在之前選擇了什么商品,于是,兩種用于保持 HTTP 連接狀態的技術就應運而生了,一個是 Cookie,而另一個則是 Session,
七、cookie和session的區別
答:
cookie資料存放在客戶的瀏覽器上,session資料放在服務器上
cookie不是很安全,別人可以分析存放在本地的cookie并進行cookie欺騙,考慮到安全應當使用session
session會在一定時間內保存在服務器上,當訪問增多,會比較占用你服務器的性能,考慮到減輕服務器性能方面應當使用cookie
單個cookie保存的資料不能超過4K,很多瀏覽器都限制一個站點最多保存20個cookie
可以將登陸資訊等重要資訊存放為session;其他資訊需要保存,可以放在cookie
面試題資料領取:
更多面試題領取請點擊這里領取


轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/298640.html
標籤:其他
