RobotFramework笔记一:元素定位
最近在用robot framework做UI自动化,常见的用的最多的是selenium,这里使用的是selenium2lilbrary,直接pip安装即可。
UI自动化最主要的就是元素定位,先进行定位,才能对元素进行操作,selenium2lilbrary提供了多种元素定位方式,如下图所示,常用的是id、name、xpath等方式。
这里主要讲一下xpath定位。xpath是在xml文档中查找信息,使用路径表达式在xml文档中进行导航,包含一些标准函数库。
1.xpath的术语
例子:
<?xml version="1.0" encoding="UTF-8"?>
<company>
<shop>
<item>T-shirt</item>
<price>100</price>
</shop>
</company>
1)节点:xpath中,有7种不同节点(元素、属性、文本、处理指令、命名空间、注释和根)
如上面例子中company就是根节点,里面的title等是元素节点
2)基本值:无父或无子的节点,如元素节点里面的值
3)节点关系
父:每个元素或属性都有父,如例子中,shop是item和price的父,company是shop的父
子:与父对应,即shop是campany的子,item和price是shop的子
同胞:拥有相同父的节点,如item和price
先辈:节点的父/父的父,item的先辈是shop和company
后代:节点的子/子的子,company的后代是shop/item/price
2. xpath的语法
xpath的路径表达式使用xml的节点或节点集,通过路径来选取
选取节点如下
3. xpath定位
使用xpath定位可以选择绝对路径或相对路径。
1)绝对路径:即从网页的根节点开始,一层一层向下寻找,如/html/body/div[2]/div/div[2]/div[3]/div[1]/div[4],这种方式下,一旦有一个路径错误,就会错,这种情况用的较少
2)相对路径:只考虑节点不去管路径,如//input[@placeholder=’请输入密码’],这种情况下会定位到input内的信息的元素
rf中使用起来也很方便,只要直接使用input text关键字,填写xpath和内容,即可模拟,如下图就是个最简单的模拟登陆操作。
4. 工具获取
火狐浏览器有挺多插件支持的,可以直接在扩展总搜索xpath相关的插件,使用插件定位就可以返回结果,如下图。
RobotFramework笔记一:元素定位相关推荐
- selenium学习笔记之元素定位
selenium学习笔记之元素定位 Selenium是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样. 首先需要创建浏览器驱动: from sele ...
- 如何获取某个标签下所有的元素id_D3库实践笔记之元素定位与数据绑定 |可视化系列33...
D3根据数据的内容操纵HTML文档对象,实现把数据变成可视图.要操纵文档对象,例如在里添加一个.编辑标签里的一个矩形,要完成这些首先需要能定位到我们需要操作的元素.再结合数据操作这些元素. 本篇具体展 ...
- selenium+java初级学习笔记之单个元素定位
元素定位可以大概分为八重一般情况下常用的就是by.id.by.name.by.classname,如果需要定位的元素中没有这几个可以选择其他方式的定位: By.id(id) //(有时元素中id是会变 ...
- python+selenium笔记(一):元素定位方法
一.环境准备: 1.浏览器选择:Firefox 2.安装插件:Firebug和FirePath(设置>附加组件>搜索:输入插件名称>下载安装后重启浏览器) 3.安装完成后,页面右上角 ...
- selenium课程笔记3-使用selenium中的webdriver对浏览器操作-页面元素定位及操作
1.打开浏览器,打开网页 1 from selenium import webdriver 2 dr=webdriver.Chrome() 3 dr.get('http://www.baidu.com ...
- 【PC桌面自动化测试工具开发笔记】(一)基于pywinauto的元素定位工具
(一)基于pywinauto的元素定位工具 前言 后台截图的实现 win32桌面绘图 源码 结果展示 前言 使用pywinauto库实现PC桌面应用程序自动化查找元素时遇到以下问题: 使用pywina ...
- web自动化笔记一:元素定位的八种方式
一.元素定位 优先使用id定位,超链接使用link和paryial_link 二.自动化测试流程(先定位后操作) 1.自动化测试方案->2.自动化脚本编写(定位元素.操作元素.验证操作.记录测试 ...
- 自动化(二)——八种元素定位方法
自动化(二) 一.元素定位 1)如何元素定位 二.元素定位方式 1)id定位 2)name定位 3) class_name定位 4) tag_name定位 5) link_text以及partial_ ...
- python怎么通过手机号定位_6.1 python+appium元素定位方式(登录app)
1.0.0 :常见的十种元素定位方式 1.driver.find_element_by_id() #id定位2.driver.find_element_by_name() #name定位(已经凉了,不 ...
最新文章
- SpringMVC访问静态资源
- Fiddler 自定义规则编写
- DNS扫盲系列之五:域名配置ZONE文件
- 独辟蹊径,Python打造新型基于图像隐写术的C2通道
- 【MySQL】MySQL 查询优化器的提示(hint)
- BUUCTF Web [ACTF2020 新生赛]Exec
- sql 逻辑运算符_SQL Like逻辑运算符介绍和概述
- Syncfusion的社区许可及免费电子书和白皮书
- vscode快速打开html页面_VSCode安装和测试
- 【POJ 2456】【二分答案】Aggressive cows(暑假 No.1)
- openmeetings(开源视频会议系统)的详细安装步骤 (windows版)
- tensorboard的安装与使用
- VScode 配置 Java 环境
- 模板引擎 Velocity语法
- scikit-learn安装步骤
- linux蓝牙适配器驱动安装失败,deepin官方论坛-深度科技官网旗下网站
- matlab中线形_MATLAB在绘图时的用法——线形图
- 习题 8-28 打结(Knots, ACM/ICPC ACM/ICPC Jakarta 2012, UVa1624)
- getMonth()函数的问题
- 唐伯虎点秋香中的一段对白!
热门文章
- 一个简单的SpringBoot项目 demo
- Java多线程入门(狂神说)
- 如何查询电商平台真实销售数据?(京东怎么看销量)
- 米斯特web安全培训第一期课程目录
- [分享]敏感内容自动评审类库及辅助工具
- Adobe Dreamweaver CS5下载安装
- 试玩系列 | 真香!大疆TT无人机编程初体验,教你对它为所欲为!
- php域名免备案转发,免备案高防CDN支持过墙域名跳转解决域名DNS污染
- 这所北京计算机类大学,改考408了!北京信息科技大学
- python 3.7安装festtext、提示要更新_现代开发者必备:5个更流畅、更受欢迎的Python web框架...