selenium ----- 自动化测试定位策略

问题

不知道应该使用哪种定位方式

  • 选择定位器通用原则(优先级从高到低)
    1、与研发约定的属性优先(class属性:[name=‘locate’])
    2、身份属性id,name(web 定位)
    3、复杂场景使用组合定位:
    xpath, css
    属性动态变化(id, text)
    重复元素属性(id, text,class)
    父子定位(子定位父)
    4、js定位

元素定位不到

常用定位场景

Web弹框定位

  • 场景:web页面alter弹框
  • 解决: web需要使用driver.switchTo().altert()处理

下拉框/日期控件定位

  • 场景:input标签组合的下拉框无法定位
    input标签组合的日期控件无法定位
  • 解决:可以引入JS注入技术来解决问题

文件上传定位

  • 场景:input标签文件上传
  • 解决:input标签直接使用send_keys()方法