1、以你做過的專案,舉例來說一下你的自動化測驗是怎么做的?
參考答案:就拿簡歷上的ecshop專案來說吧,在撰寫腳本前,我們會對系統進行評估,確認這個系統可不可以實作UI自動化,如果可以的話,就篩選出能實作自動化測驗的用例,一般優先把冒煙測驗用例的轉為成腳本,我們是用selenium工具來實作自動化,采用python腳本語言,基于unittest框架進行用例的撰寫,比如,下單這個功能的腳本,我們是這樣做的:首先,我們會構建一個測驗工程,測驗工程包含public部分(這里封裝腳本公共的內容,比如,打開瀏覽器,登陸等操作),testCases(存放測驗用例),reports(存放測驗報告),runAllCases(用于運行專案自動化用例),腳本除錯完后,我們會用jenkins持續集成工具(定時),設定腳本每天晚上8點跑一遍腳本,跑完后生成html格式的自動化測驗報告,
自動化腳本失敗的原因:
1)、可能是測驗環境的網路不穩定;
2)、開發修改了代碼沒通知到測驗人員修改腳本;
3)、開發引入了新的問題,
2、測驗腳本用到了哪些技術?
參考答案:元素定位,表單切換,模塊呼叫,JS定位等等,腳本是基于python自帶的unittest單元測驗框架,采用了模塊化方式撰寫,把復用性高的操作封裝到公共模塊中,如果腳本需要用到對應的操作,直接呼叫就可以了,如果元素發生變化,只需要調整元素封裝的代碼就可以了,提高測驗用例的可維護性,
xpath和CSS定位方式的區別:
1、語法不一樣;
2、CSS定位比較穩定,
3、腳本怎么組織的?(撰寫自動化腳本,你的思路是什么?)
參考答案:構建測驗套,測驗套包含public部分(包括測驗用例中公共的部分),testCases(存放測驗用例),reports(存放測驗報告),runAllCases(用于運行專案自動化用例),測驗腳本使用的是python的unittest單元測驗框架組織管理,將所有測驗腳本通過單元測驗框架組織起來運行,這樣做的好處是,維護起來方便,可以生成測驗html格式的測驗報告,報告包括:測驗用例,通過數,失敗數,
4、自動化率多少?
參考答案:一般是30%到40%,這個沒有固定的,我們是優先將優先級高的測驗用例,比如,冒煙測驗的測驗用例轉換成自動化腳本的,后面有時間的時候再不斷補充,能寫多少寫多少,
5、你們自動化腳本的通過率是多少?(注意這個題目的意思)
參考答案:這個說不準,如果沒有什么例外情況,自動化腳本都是100%運行通過;如果例外情況比較多,比如出現測驗環境不穩定,或者開發修改了代碼沒通知到測驗人員及時修改腳本,又或者開發引入了新的問題等等,自動化腳本通過率可能80%都不到,
6、用那個方法判斷元素是否顯示?
is_displayed()
7.你曾經都寫過多少自動化測驗用例?
參考答案:這個具體沒有算過,但是只要有時間,模塊穩定的功能都會寫,就拿上個專案來說,自動化測驗用例大概寫了將近有70-80條這樣子吧,
8、python3 的資料型別有哪些? (set集合 不重復的串列)
不可變資料(四個):int (整型)、float (浮點型)、str(字串)、Tuple(元組)、Sets(集合);
可變資料(兩個):List(串列)、Dictionary(字典),
9、unittest框架了解嗎?
參考答案:unittest框架,由setUp()–環境預置,testCase()— 測驗用例 tearDown()----環境恢復,三大部分組成,unittest框架可組織執行測驗用例,并且提供豐富的斷言方法,判斷測驗用例是否通過,最終生成測驗結果,
10、怎樣用python連接mysql資料?
參考答案:我們之前主要是用python語言來寫web端的自動化測驗腳本,沒有連過mysql資料庫,到時候作業需要的話,學一下很快就能上手了,
PS:確實沒接觸過的知識,先告訴人家,你確實沒做過,如果以后作業需要,你能夠很快學會,
11、用python做過介面測驗自動化測驗嗎?
參考答案:我們之前主要是用python語言來寫web端的自動化測驗腳,介面是用Jmeter來做的,用python寫介面的腳本也在網上學習過,但是作業中沒用用過,到時候作業需要的話,再學一下應該沒問題,
12、元素定位失敗的原因?
1)、頁面的元素未加載完成
2)、元素的屬性值不唯一
3)、元素的屬性值是動態值
4)、元素在另外一個表單
5)、元素在另外一個頁面
13、自動化腳本,如何切換不同的瀏覽器?
參考答案:使用對應的瀏覽器驅動,然后在腳本中更換不同的瀏覽器,
14、你的python水平很一般啊?(遇到這種否定你的問題,一定不能虛!)
參考答案:我現在掌握的python知識,做ui層的自動化測驗是可以的,代碼的封裝,呼叫這些都沒問題;我一般是會做,但不是很會用文字描述出來,我以注意到這點,現在也在加強提升自己的總結能力,
PS—重點強調:凡是遇到被面試官否定的,都要想辦法懟回去,輸也要輸得精彩些,但是,懟回去的時候,要注意語氣,要有禮有節,不卑不亢,
15、python怎么定義一個函式,怎么定義一個類?
def 函式名:函式體
class 類名:屬性,方法
16、有些元素,在谷歌瀏覽器上能定位,在火狐瀏覽器上定位失敗,是什么原因呢?
參考答案:因為不同瀏覽器的內核不一樣,他們的CSS樣式不一樣,
17、如何提高selenium腳本的執行速度?
參考答案:
1)、提高網速;
2)、少用sleep,多用隱式等待或顯式等待(強制),
1、元素定位的方式有哪些?
id定位: find_element_by_id()
name定位: find_element_by_name()
class_name定位:find_element_by_class_name()
tag_name定位:find_element_by_tag_name()
link_text定位:find_element_by_link_text()
partial_link定位:find_element_by_partial_link_text()
xpath定位:find_element_by_xpath()
css_selector定位:find_element_by_css_selector()
2、如何切換iframe?
switch_to.frame()
switch_to.default_content()
3、如何切換視窗?
switch_to.window()
4、滑鼠懸停的方法是什么?
shezhi=dr.find_element_by_link_text(“設定”)
ActionChains(dr).move_to_element(shezhi).perform()
5、如何定位下拉框?
sq=dr.find_element_by_name(“sel_question”)
Select(sq).select_by_value(“motto”)
6、如何獲取彈出警告框的text?
#獲取警告框的文本資訊
t1=dr.switch_to.alert.text
print(t1)
#點擊確定
dr.switch_to.alert.accept()
#取消警告框
#dr.switch_to.alert.dismiss()
7、做自動化做了多久?
參考答案:一直都在做,通常只要有時間,模塊穩定的功能都會寫,斷斷續續的做了一年多了,
8、selenium的作業原理是什么?
參考答案:selenium的作業原理是什么:selenium作業原理涉及三個部份,分別是瀏覽器、驅動器、代碼; 代碼發送請求給驅動器,驅動器決議請求,并在瀏覽器上執行相應的操作把執行結果回傳給代碼
9、什么樣的專案適合做自動化?
參考答案:專案周期長,版本多,界面元素穩定的專案,
10、selenium如何做兼容性測驗?
參考答案:使用對應的瀏覽器驅動,然后在腳本中更換不同的瀏覽器,
11、為什么會生成HTML報告?
參考答案:使用了HTMLTestRunner第三方工具包來實作的
12、腳本運行出錯,應該怎樣定位,說出分析程序
生成報告,從報告中分析:網路,開發修改,引入新的問題(從斷言中分析)
參考答案:運行結束之后我們會得到一個測驗報告,我們根據測驗報告先定位一下是腳本的原因還是程式的原因,一般來說腳本的原因在報告中都會顯示出哪一行代碼出錯了,如果是程式的原因通常來說都是斷言的問題,
13、如果系統有驗證碼,怎么做自動化?
參考答案:
1)、去掉驗證碼,
2)、設定萬能驗證碼,
3)、用python呼叫OCR模塊,自己寫代碼來識別,這種方法可以識別出簡單的驗證碼,
4)、呼叫第三方平臺提供的介面進行識別,比如:斐斐打碼,尖叫資料這些平臺介面,
14、setUp(),tearDown()和setUpClass(),tearDownClass()的區別?
參考答案:當測驗用例有多個,setUp()和tearDown()就會被執行多次;不管測驗用例有多少個,setUpClass()和tearDownClass()只會被執行一次(在全域的開關的情況,),
15、python的第三方模塊/標準庫有哪些?
- time
- random
- unittest
- selenium
- sys
- HTMLTestRunner
- datetime
需要匯入的,自帶的不需
16、python的pass陳述句的作用是?
參考答案:占位符,當方法沒有內容時,防止出現語法錯誤,跳過,執行去下一個
17、自動化寫過哪些模塊的腳本?
參考答案:主要是把冒煙測驗的用例轉化為腳本,比如,我這個xx商城系統,做自動化的模塊有后臺的上架商品,訂單查詢,添加團購活動,促銷活動,前臺的搜索商品,添加商品到購物車,下單等等,
18、常見的排序演算法?
參考答案:冒泡排序、選擇排序、插入排序、希爾排序、快速排序、歸并排序等.
16、元素是動態變換的,如何定位?
參考答案:使用css或者xpath先定位到其上級不變的元素,然后再定位到該元素即可
20、隱藏元素是否可以操作?
參考答案:隱藏元素只能夠定位到,無法對其進行操作 如果想要對隱藏元素進行操作,我們需要使用js陳述句對其操作
如果你
①從事功能測驗,想進階自動化測驗
②在測驗界混了1、2年,依然不會敲代碼
③面試大廠卻屢屢碰壁
我邀你進群吧!來吧~~測驗員,313782132(Q群里有技術大牛一起交流分享,學習資源的價值取決于你的行動,莫做“收藏家”)獲取更多大廠技術、面試資料

如果對python自動化測驗、web自動化、介面自動化、移動端自動化、面試經驗交流等等感興趣的測驗人,可以關注微信公眾號:【傷心的辣條】,獲取軟體測驗工程師大廠面試資料!
最后:
凡事要趁早,特別是技術行業,一定要提升技術功底,豐富自動化專案實戰經驗,這對于你未來幾年職業規劃,以及測驗技術掌握的深度非常有幫助,

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