面試題如下:

參考解答:
這個問題得區分selenium和appium分開做答,因為selenium和appium不穩定的因素不一樣 ,不過大體差不多。
1、selenium的話一般就是增加 隱式等待 和 顯示等待,還有 強制等待,失敗重跑,js操作屬性 來保證定位;
2、appium的話他會有環境問題,例如真機連接不穩定導致失敗,所以可以用多真機執行,單獨真機執行失敗后可以選擇其他真機代替執行,如果沒有那么多手機的話, 環境問題那就只有自己用代碼
去一直嘗試解決了,appium除了js操作屬性其余的都差不多。
顯示等待是必不可少的,隱式等待是有必要的;但是並不是能解決所有的定位問題。
多線程的時候,測試用例間相互影響。雖然多線程的時候運行速度比較快,但是如果用例之間的耦合性沒有設計好,也會影響的,如果用例A先於用例B執行的時候,就會
影響到用例B;反之則沒有問題。這種情況,需要降低測試用例耦合度,盡量沒有任何關系,因為多線程的執行順序是不受控制的。
多線程執行selenium如果是采用allure集成報告,測試報告是異常的。
