Web UI自动化测试之元素定位

本文首发于:行者AI

目前,在自动化测试的实际应用中,接口自动化测试被广泛使用,但UI自动化测试也并不会被替代。让我们看看二者的对比:

  • 接口自动化测试是跳过前端界面直接对服务端的测试,执行效率和覆盖率更高,维护成本更低,整体而言投出产出比更高,因此在项目上的使用更广泛。
  • 而UI自动化测试则是模拟用户在前端页面中的操作行为进行测试,虽然在执行过程中易收到其他因素的影响(如电脑卡顿,浏览器卡顿,网速等)而导致用例执行失败,且后期维护成本较高,但是UI自动化测试更贴近用户使用时的真实情况,也能够发现一些接口自动化无法发现的bug。

因此,在实际项目的自动化测试中,通常采用以接口自动化为主、系统稳定后通过UI自动化对重点业务流程进行覆盖的方案。而UI自动化的基础,就是元素定位。只有完成了元素定位,才可以操作定位到的元素,模拟手工测试进行一系列的页面交互,比如点击、输入等。

1. 常用的元素定位方式

对于web端的UI自动化测试,元素定位通常使用selenium提供的以下8种定位方式:

  • id:根据id定位,是最常用的定位方式,因为id具有唯一性,定位准确快捷。
  • name:通过元素的【name】属性定位,会存在不唯一的情况。
  • class_name:通过class 属性名称进行定位。
  • tag_name:通过标签名定位,一般不建议使用。
  • link_text:专用于定位超链接元素(即a标签),需要完全匹配超链接的内容。
  • partial_link_text:同样用于定位超链接元素,但可以模糊匹配超链接的内容。
  • xpath:根据元素路径进行定位,分为绝对路径和相对路径,可以定位到所有目标元素。
  • css_selector:selenium官方推荐的元素定位方式,比xpath效率更高,但需要掌握一些css基础。

在实际的项目中,更推荐使用xpath和css定位方式,这两种可以定位到页面中的所有元素,使用限制较小。如果对css没有了解的话,推荐使用xpath的方式,上手更快;如果对css有一定基础的朋友,更推荐使用css进行元素定位。

接下来,以百度首页为例,在实际使用中对各种定位方式进行详细介绍。

2. 元素定位的实际应用

以百度首页的搜索框为例,介绍id、name、class、tag_name四种元素定位方式。

2.1 id定位

通过id属性对百度首页的的输入框进行定位。

# 通过input标签的id属性进行定位
find_element_by_id('su'
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值