栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

软件测试元素定位_自动化测试元素定位不到?

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

软件测试元素定位_自动化测试元素定位不到?

目录

一.元素定位

1.根据id属性进行定位(id是唯一的)

2.name属性进行定位

3.tag name(标签名) 定位和class name(标签中的class属性)定位

(1)使用class name 定位搜狗搜索框

(2)使用tag name(标签名进行定位)

4.CSS定位

5.X-Path定位

6.link text(全名) 定位 和 Partial link text (部分名)定位(链接名称)

(1)link text定位

 (2)partial link text 定位


一.元素定位

因为使用selenium进行自动化测试,我们首先要定位到元素的位置,然后通过指定事件才能进行之后的执行,所以我们现在来学习一下常用的定位方法;这里的定位方法与HTML和CSS中的属性密切相关。

1.根据id属性进行定位(id是唯一的)

如果我们需要操作的元素有id属性,我们就可以通过id进行定位。

#  从selenium中引入webdriver驱动
from selenium import webdriver
# 引入事件包(为了之后能够观察自动化测试)
import time
driver = webdriver.Chrome()
url = "https://www.baidu.com"
driver.get(url)
# 通过id定位百度输入框,send_keys是在输入框中填充内容
driver.find_element_by_id("kw").send_keys("牛客网")
time.sleep(5)
# 关闭浏览器
driver.quit()

2.name属性进行定位

#  从selenium中引入webdriver驱动
from selenium import webdriver
# 引入事件包(为了之后能够观察自动化测试)
import time
driver = webdriver.Chrome()
url = "https://www.baidu.com"
driver.get(url)

driver.find_element_by_name("wd").send_keys("leetcode")
time.sleep(5)
# 关闭浏览器
driver.quit()

3.tag name(标签名) 定位和class name(标签中的class属性)定位

(1)使用class name 定位搜狗搜索框
from selenium import webdriver
import time
driver = webdriver.Chrome()
# 将窗口放到最大
driver.maximize_window()
driver.get("http://www.sogou.com")
# 定位搜素框并输入内容
driver.find_element_by_class_name("sec-input").send_keys("牛客网")
time.sleep(2)
driver.quit()

(2)使用tag name(标签名进行定位)

注意:在使用这两种定位方式时需要在当前页面没有重复出现,否则就会定位不到,

4.CSS定位

使用css选择器来对元素进行定位,这里我们不需要自己去分析,只需要在浏览器上打开开发者工具,然后定位到指定元素位置后,通过右键点击复制,然后复制selecter就可以了。

示例:通过css定位搜狗搜索框

from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("http://www.sogou.com")
# 定位搜素框并输入内容
driver.find_element_by_css_selector("#query").send_keys("牛客网")
time.sleep(3)
driver.quit()

5.X-Path定位

XPath 是一种在XML 文档中定位元素的语言,XPath 扩展了上面id 和name 定位方式,提供了很多种可能性。通过X-Path也可以唯一定位一个元素。以Chrome浏览器为例,f12打开开发者工具,定位到需要操作的元素(如搜索框),然后右键鼠标,复制里面点击xpath即可。

通过X-Path定位搜狗搜索框

from selenium import webdriver
import time
driver = webdriver.Chrome()
# 将窗口放到最大
driver.maximize_window()
driver.get("http://www.sogou.com")
# 定位搜素框并输入内容
driver.find_element_by_xpath("//*[@id='query']").send_keys("牛客网")
time.sleep(2)
driver.quit()


 

6.link text(全名) 定位 和 Partial link text (部分名)定位(链接名称)

注意:这里的图片链接不能重复,重复也会定位不到

(1)link text定位
from selenium import webdriver
import time
driver = webdriver.Chrome()
# 将窗口放到最大
driver.maximize_window()
driver.get("http://www.sogou.com")
# 定位链接全部文字并点击
driver.find_element_by_link_text("图片").click()
time.sleep(2)
driver.quit()

 (2)partial link text 定位
from selenium import webdriver
import time
driver = webdriver.Chrome()
# 将窗口放到最大
driver.maximize_window()
driver.get("http://www.sogou.com")
# 定位链接b部分文字并点击
driver.find_element_by_partial_link_text("图").click()
time.sleep(2)
driver.quit()

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/786784.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号