自动化UI测试元素定位精炼

嗨。大家好,我是兰若姐姐。

今天给大家总结下元素定位的方式,直接上干货!

1. ID定位 (ID Selector)

使用元素的唯一ID属性进行定位。

python 复制代码
element = driver.find_element_by_id("element_id")

2. Name定位 (Name Selector)

使用元素的Name属性进行定位。

python 复制代码
element = driver.find_element_by_name("element_name")

3. Class Name定位 (Class Name Selector)

使用元素的Class Name属性进行定位。

python 复制代码
element = driver.find_element_by_class_name("element_class_name")

4. Tag Name定位 (Tag Name Selector)

使用元素的HTML标签名称进行定位。

python 复制代码
element = driver.find_element_by_tag_name("input")

5. XPath定位 (XPath Selector)

使用XPath表达式进行定位,适用于更加复杂的结构。

python 复制代码
# 绝对路径

element = driver.find_element_by_xpath("/html/body/div[1]/div[2]/input")

# 相对路径

element = driver.find_element_by_xpath("//input[@id='element_id']")

6. CSS Selector定位 (CSS Selector)

使用CSS选择器进行定位,支持多种灵活的选择方式。

python 复制代码
# 选择ID

element = driver.find_element_by_css_selector("#element_id")

# 选择Class

element = driver.find_element_by_css_selector(".element_class_name")

# 选择属性

element = driver.find_element_by_css_selector("input[name='element_name']")

使用完整的超链接文本进行定位。

python 复制代码
element = driver.find_element_by_link_text("Click here")

使用部分超链接文本进行定位。

python 复制代码
element = driver.find_element_by_partial_link_text("Click")

9. DOM定位 (DOM Selector)

直接操作Document Object Model(DOM)进行元素定位。

python 复制代码
element = driver.execute_script('return document.getElementById("element_id");')

10. Accessibility ID定位 (Accessibility ID)

主要用于移动应用自动化测试。

python 复制代码
element = driver.find_element_by_accessibility_id("accessibility_id")

示例:

假设有一个网页,其部分HTML结构如下:

html 复制代码
<html>

<body>

<div id="main">

<input id="username" name="username" class="input-field" type="text"/>

<button id="submit-btn" class="button-class" type="submit">Submit</button>

<a href="home.html">Home</a>

</div>

</body>

</html>
  1. ID定位:
python 复制代码
element = driver.find_element_by_id("username")
  1. Name定位:
python 复制代码
element = driver.find_element_by_name("username")
  1. Class Name定位:
python 复制代码
element = driver.find_element_by_class_name("input-field")
  1. Tag Name定位:
python 复制代码
element = driver.find_element_by_tag_name("input")
  1. XPath定位:
python 复制代码
element = driver.find_element_by_xpath("//input[@id='username']")
  1. CSS Selector定位:
python 复制代码
element = driver.find_element_by_css_selector("#username")
  1. Link Text定位:
python 复制代码
element = driver.find_element_by_link_text("Home")
  1. Partial Link Text定位:
python 复制代码
element = driver.find_element_by_partial_link_text("Ho")
  1. DOM定位:
python 复制代码
element = driver.execute_script('return document.getElementById("username");')

通过这些常见的元素定位方式,你可以在自动化测试中灵活地选择适合的方式来定位网页元素,从而实现高效和可靠的测试脚本。

相关推荐
Juchecar1 小时前
解惑:NumPy 中 ndarray.ndim 到底是什么?
python
用户8356290780511 小时前
Python 删除 Excel 工作表中的空白行列
后端·python
Json_1 小时前
使用python-fastApi框架开发一个学校宿舍管理系统-前后端分离项目
后端·python·fastapi
数据智能老司机8 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机9 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机9 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机9 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i9 小时前
drf初步梳理
python·django
每日AI新事件9 小时前
python的异步函数
python
这里有鱼汤10 小时前
miniQMT下载历史行情数据太慢怎么办?一招提速10倍!
前端·python