0
点赞
收藏
分享

微信扫一扫

2022年全网最全的web自动化元素定位教程【持续更新】

2022年全网最全的web自动化元素定位教程【持续更新】_css选择器

目录

​​01、为什么要学习定位元素?​​

​​02、元素定位的工具或手段有哪些?​​

​​03、环境及工具​​

​​04、css选择器​​

​​05、xpath​​

​​06、xpath实例​​

​​07、css实例​​

​​08、元素定位方法总结​​

​​学习资源分享​​

01、为什么要学习定位元素?

1)计算机没有智能到人的程度。     

2)计算机不能像手动测试人员一样通过眼看,手操作鼠标点击,操作键盘输入 

3)计算机通过一系列计数手段找到元素(按钮、输入框、模拟键盘等)

02、元素定位的工具或手段有哪些?

1)css选择器     

2)xpath

03、环境及工具

现在博主演示的安装firefox浏览器的firepath以及firebug两个插件,博主电脑本身已经安装了Firefox68版本的火狐浏览器,现在安装Firefox35版本,这两个版本是可以共存的

  • 安装时选择自定义
    2022年全网最全的web自动化元素定位教程【持续更新】_css选择器_02
  • 安装完成后,进入选项中
    2022年全网最全的web自动化元素定位教程【持续更新】_css选择器_03
  • 关闭所有的更新
    2022年全网最全的web自动化元素定位教程【持续更新】_web_04
  • 进入附件组件中
    2022年全网最全的web自动化元素定位教程【持续更新】_测试工程师_05
  • 选择从文件安装附件组件
    2022年全网最全的web自动化元素定位教程【持续更新】_软件测试_06
  • 接下来则是选择firepath和firebug插件,进行安装即可
    2022年全网最全的web自动化元素定位教程【持续更新】_自动化测试_07
  • 安装完成后,重启浏览器,检查页面元素,则会出现firepath的菜单栏
    2022年全网最全的web自动化元素定位教程【持续更新】_css选择器_08

04、css选择器

1.什么是css选择器?     

CSS 中,选择器是一种模式,用于选择需要添加样式的元素。计算机能够通过css选择器定位到相应元素,我们在编写自动化测试脚本的时候很多时候是在不断地找到css选择器。

2.css选择器语法    

  • 通过伪类名、id、标签名定位

2022年全网最全的web自动化元素定位教程【持续更新】_web_09

  • 通过元素之前嵌套关系

2022年全网最全的web自动化元素定位教程【持续更新】_软件测试_10

  • 通过属性

2022年全网最全的web自动化元素定位教程【持续更新】_自动化测试_11

  • 通过父子关系

2022年全网最全的web自动化元素定位教程【持续更新】_css选择器_12

  • 元素状态

2022年全网最全的web自动化元素定位教程【持续更新】_css选择器_13

05、xpath

1.什么是xpath?     

XPath即为XML路径语言,它是一种用来(标准通用标记语言的子集)在 HTML\XML 文档中查找信息的语言。     W3School官方文档:

​​http://www.w3school.com.cn/xpath/index.asp​​

2.什么是XML?     

XML 指可扩展标记语言(EXtensible Markup Language)     XML 是一种标记语言,很类似 HTML     XML 的设计宗旨是传输数据,而非显示数据

3.XML与HTML

2022年全网最全的web自动化元素定位教程【持续更新】_web_14

4.节点的概念:每个XML/HTML的标签我们都称之为节点

2022年全网最全的web自动化元素定位教程【持续更新】_测试工程师_15

2022年全网最全的web自动化元素定位教程【持续更新】_css选择器_16

5.XPath 

使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规的脑文件系统中看到的表达式非常相似

2022年全网最全的web自动化元素定位教程【持续更新】_web_17

查找某个特定的节点或者包含某个指定的值的节点

2022年全网最全的web自动化元素定位教程【持续更新】_web_18

选择未知节点

2022年全网最全的web自动化元素定位教程【持续更新】_css选择器_19

选取若干路径

2022年全网最全的web自动化元素定位教程【持续更新】_css选择器_20

补充:

//*[text()=“x’x’x”]文本内容是xxx的元素    

//*[starts-with(@attribute,’xxx’)] 属性以xxx开头的元素    

//*[contains(@attribute,’xxxxx’)] 属性中含有xxx的元素    

//*[@attribute1=value1 and @attribute2=value2]    同时有两个属性值的元素     

06、xpath实例

(没有固定的写法,只要能找到页面的元素都可以)

  • 如在csdn网站首页中,如何通过xpath匹配首页中推荐内容的标题

2022年全网最全的web自动化元素定位教程【持续更新】_css选择器_21

  • 如在糗事百科文字栏中对页面所有文章进行选中,使用xpath中的position方法将文章的div容器进行选中

2022年全网最全的web自动化元素定位教程【持续更新】_软件测试_22

  • 查看匹配到的div个数也就是当前页面所有文章数目,选中第10条文章,选中后该文章所在的div标签属性中会多出高亮属性

2022年全网最全的web自动化元素定位教程【持续更新】_软件测试_23

  • 接下来则是获取该第10条文章的作者名称

2022年全网最全的web自动化元素定位教程【持续更新】_自动化测试_24

  • 获取该篇文章下的评论数

2022年全网最全的web自动化元素定位教程【持续更新】_web_25

  • 选择页面元素中的若干元素路径使用|进行分割,通过以下实例获取当前页面meta标签以及link标签的所有路径,实际可用于两个不同网站的登录页面,而不仅是用于一个项目的使用

2022年全网最全的web自动化元素定位教程【持续更新】_web_26

  • 使用starts-with方法来匹配name属性以"rend"开头的标签

2022年全网最全的web自动化元素定位教程【持续更新】_web_27

  • 除了使用starts-with方法之外还可以使用contains来匹配name属性下包含"rend"的标签

2022年全网最全的web自动化元素定位教程【持续更新】_css选择器_28

07、css实例

  • 如在凤凰网中,通过css选择器来找到某个class属性的标签

2022年全网最全的web自动化元素定位教程【持续更新】_自动化测试_29

  • 匹配id属性值为root的标签

2022年全网最全的web自动化元素定位教程【持续更新】_web_30

  • 在css选择器中选择页面中所有的meta元素以及link元素,对比xpath是以,进行分割

2022年全网最全的web自动化元素定位教程【持续更新】_css选择器_31

  • 在css选择器选择div元素内部的所有a标签

2022年全网最全的web自动化元素定位教程【持续更新】_软件测试_32

  • 另选择div元素内部的所有a标签注意跟以上面的区别)

2022年全网最全的web自动化元素定位教程【持续更新】_web_33

选择ul标签之后的所有ul(所以第一个ul并没有选择)

2022年全网最全的web自动化元素定位教程【持续更新】_自动化测试_34

  • 选择div标签之后的所有div,跟上面同理第一个div是不会被选中的(说白了就是+之前的为判断条件,之后的才会被选择

2022年全网最全的web自动化元素定位教程【持续更新】_web_35

  • 匹配id属性值为subNav标签

2022年全网最全的web自动化元素定位教程【持续更新】_自动化测试_36

  • 除了id和class以外其他的类似type value类型的都可以进行匹配

2022年全网最全的web自动化元素定位教程【持续更新】_web_37

  • 匹配class属性中包含"clearfix"的所有标签

2022年全网最全的web自动化元素定位教程【持续更新】_自动化测试_38

  • 匹配src属性的值以"https://x0"开头的标签

2022年全网最全的web自动化元素定位教程【持续更新】_软件测试_39

  • 匹配src属性的值以".js"结尾的标签

2022年全网最全的web自动化元素定位教程【持续更新】_自动化测试_40

  • 匹配src属性的值包含"2019"的标签

2022年全网最全的web自动化元素定位教程【持续更新】_css选择器_41

  • 匹配class属性为layout-2QlrJZv-父元素下的第二个字元素div的标签

2022年全网最全的web自动化元素定位教程【持续更新】_web_42

  • 匹配父元素body倒数第一个也就是最后一个子元素所在的标签

2022年全网最全的web自动化元素定位教程【持续更新】_自动化测试_43

  • 通过复制标签唯一选择器,并粘贴到Firepath中,从选择器的匹配规则中可以发现根本不会使用nth-last-child这种方式

2022年全网最全的web自动化元素定位教程【持续更新】_软件测试_44

  • 匹配没有子节点的元素

2022年全网最全的web自动化元素定位教程【持续更新】_测试工程师_45

08、元素定位方法总结

  • 在firefox火狐浏览器中可以通过浏览器自带的检查元素进行检查然后复制唯一选择器即可,然后通过firepath进行检验是否正确


  • 然后是通过Inspect in Firepath进行获取定位元素,会自动获取其css匹配规则

2022年全网最全的web自动化元素定位教程【持续更新】_css选择器_46

  • 同理在chrome谷歌浏览器中使用自带的功能获取到元素css或者xpath的匹配规则

2022年全网最全的web自动化元素定位教程【持续更新】_软件测试_47

学习资源分享

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走

2022年全网最全的web自动化元素定位教程【持续更新】_测试工程师_48

这些资料,对于想进阶【自动化测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……



举报

相关推荐

0 条评论