"Python UI自动化day3的学习笔记主要涵盖了CSS的选择器以及元素和浏览器的属性与方法,这些是进行UI自动化测试的基础知识。"
在Python UI自动化测试中,CSS(Cascading Style Sheets)是一种用于描述HTML或XML(包括如SVG、MathML等各种XML方言)文档样式的样式表语言。在day3的学习中,我们深入探讨了CSS如何用于网页的定位和美化。
**CSS选择器**是CSS中的核心概念,它们用于选取我们想要应用样式的HTML元素。简单选择器包括:
1. **标签选择器**:通过直接写标签名称(如`div`, `p`等)来选择HTML结构标签。
2. **ID选择器**:使用`#`符号后面跟着一个唯一的ID值,确保每个元素都有唯一标识。
3. **类选择器**:使用`.`符号后面跟着一个或多个类值,类值之间不能有空格,可以用来选择具有特定类的元素。
4. **属性选择器**:用方括号`[]`包含属性名和等号`=`,如`[href="example.com"]`来选择具有特定属性值的元素。
**复杂选择器**则更进一步,允许更精确的元素选择:
1. **父子选择器**:使用`>`符号,例如`div > p`,选择`div`元素的所有直接子`p`元素。
2. **后代选择器**:使用空格,例如`div p`,选择`div`元素的所有后代`p`元素,无论其层级多深。
3. **序数选择器**:如`:first-child`选择父元素的第一个子元素,`:nth-child(2)`选择父元素的第二个子元素。
此外,还介绍了**属性的模糊匹配**:
- 开头匹配:`[属性名^="属性值"]`,用于选择属性值以指定字符串开头的元素。
- 结尾匹配:`[属性名$="属性值"]`,用于选择属性值以指定字符串结尾的元素。
- 包含匹配:`[属性名*="属性值"]`,用于选择属性值中包含指定字符串的元素。
在UI自动化测试中,了解元素的属性和方法同样关键。例如:
1. **size**:用于设置元素的宽度和高度。
2. **text**:获取或设置元素内的文本内容。
3. **getattribute("xxx")**:获取元素的特定属性值。
4. **isdisplayed()**:检查元素是否在屏幕上可见,返回True或False。
5. **isenabled()**:判断元素是否可交互,同样返回True或False。
浏览器的属性和方法对于模拟用户操作至关重要:
1. **maximize_window()**:将浏览器窗口最大化。
2. **set_window_size(100,100)**:设置浏览器窗口的宽度和高度。
3. **set_window_position(300,200)**:定位浏览器窗口的位置。
4. **back()**:模拟用户点击浏览器的后退按钮。
5. **forward()**:模拟用户点击浏览器的前进按钮。
6. **refresh()**:刷新当前页面。
7. **close()**:关闭当前浏览器窗口。
8. **quit()**:关闭所有由WebDriver启动的窗口和进程。
9. **title**:获取当前页面的标题。
10. **current_url**:获取当前页面的URL。
这些基础知识是进行Python UI自动化测试的基石,理解并熟练运用它们能够帮助我们编写出更加高效、精准的自动化测试脚本。