一、Web 自動化測試
1.Selenium 中 hidden 或者是 display = none 的元素是否可以定位到啊终?
-不能,可以寫 JavaScript 將標簽中的 hidden 先改為 0镜豹,再定位元素
2.Selenium 中如何保證操作元素的成功率?也就是說如何保證我點擊的元素一定是可以點擊的蓝牲?
-1. 添加元素智能等待時間 driver.implicitly_wait(30)
-2. 添加強制等待時間(比如 python 中寫 sleep)
-3. try 方式進行 id,name,clas,x path, css selector 不同方式進行定位趟脂,如果第一種失敗可以自動嘗試第二種
3、用例在運行過程中經常會出現(xiàn)不穩(wěn)定的情況例衍,也就是說這次可以通過昔期,下次就沒辦法通過了,如何去提用例的穩(wěn)定性佛玄?
-1. time.sleep( )
-2. driver.implicitly_wait(30)
-3. 多用 try 捕捉硼一,處理異常
4、如何去定位頁面上動態(tài)加載的元素梦抢?
- 觸發(fā)動態(tài)加載元素的事件般贼,直至動態(tài)元素出現(xiàn),進行定位
5奥吩、如何去定位屬性動態(tài)變化的元素哼蛆?
-軸定位、xpath 或者 css 通過同級霞赫、父級腮介、子級進行定位
6、如果一個元素無法定位端衰,你一般會考慮哪些方面的原因叠洗?
-1.頁面加載元素過慢甘改,加等待時間
-2.頁面有frame框架頁,需要先跳轉入frame框架再定位
-3.可能該元素是動態(tài)元素灭抑,定位方式要優(yōu)化十艾,可以使用部分元素定位或通過父節(jié)點或兄弟節(jié)點定位
-4.可能識別了元素,但是不能操作名挥,比如元素不可用疟羹,不可寫等,需要使用js先把前置的操作完成
7禀倔、自動化中有哪三類等待榄融?他們有什么特點?
-1.線程等待(強制等待)如time.sleep(2):線程強制休眠2秒鐘救湖,2秒過后愧杯,再執(zhí)行后續(xù)的代碼。建議少用鞋既。
-2.imlicitlyWait(隱式等待)會在指定的時間范圍內不斷的查找元素力九,直到找到元素或超時,特點是必須等待整個頁面加載完成邑闺。
-3.WebDriverWait(顯式等待)通常是我們自定義的一個函數代碼跌前,這段代碼用來等待某個元素加載完成,再繼續(xù)執(zhí)行后續(xù)的代碼
8陡舅、如何處理alert彈窗抵乓?
處理alert彈窗首先需要先跳轉到alert上,然后在點擊確定或者取消按鈕
Alert alet=driver.switchTo().alert();//切換到alert
alert.dismiss()靶衍; //取消
alert.accept()灾炭;//接受
9、如何用webdriver進行鼠標右鍵點擊操作颅眶?
Actions actions=new Actions(driver);
actions.moveToElement(element).perform();
actions.contextClick().perform();
持續(xù)更新中蜈出。。涛酗。铡原。。