Selenium是一款基于Web功能测试的自动化测试框架,是Web功能自动化测试的首选。
本次主要基于Web功能自动化中常见问题,涉及到的代码示例以python语言为例。Selenium官网上有java、python、Csharp、Ruby、javascript、Kotlin等多种语言实现。
笔试/面试中常见技术要点 —— Selenium Web自动化相关知识点技能
01.Selenium中有哪些不同类型的定位器?
答:定位器可以看作一个地址,用于在网页中唯一标识一个页面元素,为了准确地识别Web元素,Selenium中有8种不同的定位方式:ID;ClassName;Name;TagName;LinkText;PartialLinkText;Xpath;CSS Selector。
1.1、如何去定位页面上动态加载的元素?
- 触发动态加载元素的事件,直至动态元素出现,进行定位。
动态元素有2种情况,一个是属性动态,比如id是动态的,定位时那就不要用id定位。还有一种情况动态的,那就是这个元素一会在页面上方,一会在下方,飘忽不定的动态元素,定位方法一样按F12,根据元素属性定位(元素的tag、name的步伐属性是不会变的,动的只是class属性和styles属性)。
1.2、如何去定位属性动态变化的元素?
- xpath或者css通过同级、父级、子级进行定位
02.什么是XPath?
答:元素定位方式的一种,根据XML路径来定位Web元素,使用XPath定位元素的基本原理是在整个页面的各个元素间进行遍历,从而使用户能根据与当前元素关联的其他元素来确定当前元素的相对/绝对位置。
Xpath中“ /”和“ //”的意义如下:
(1)“ /”: 用于创建具有绝对路径的Xpath,即xpath从文档根节点/起始节点开始;
(2)“ //”: 用于创建具有相对路径的Xpath,即xpath从文档中的任何位置开始(非根节点)。<