UI自动化测试中经常遇到的问题及解决措施

一  、元素定位不到的原因?

  1、元素没有加载出来

    解:活用三大等待方法 :显示等待(只匹配目标元素),隐式等待(等待页面加载完成),强制等待(强制等待几秒,常用于上传文件等)

  2、框架没有切换   

   解:

复制代码
from selenium import webdriver

class  Frame():
    # 切换至上一层框架
    def parent_frame(self, driver):
        driver.swith_to.parent_frame()
    # 切换至最顶层框架
    def defcult_frame(self, driver):
        driver.switch_to.default_content()
    # 切换至下一层框架 通过框架元素的属性来定位  也可通过索引来定位
    def frame(self,driver,selectors):
        driver.switch_to.frame(selectors)
复制代码

  3、句柄没有切换:多标签页

    解:

from selenium import webdriver
class Handles():
    # 句柄的切换
   def cutover_handles(self, driver, text):
        # 获取当前所有页面的句柄
        handles = driver.window_handles
        driver.switch_to.window(handles[text])

  4、定位的元素是随机变化的

    解:通过元素xpath或者css来定位

二、如何提高测试稳定性

  1、优化三大等待的使用方式

  2、能直接访问的链接,不要去一步步的点击

  3、使用try,except,来抛出错误 

  4、尽量使用css来定位元素

posted @   小宋同学QAQ  阅读(1471)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示