WebDriver元素定位策略

作者: 测试开发栈 | 来源:发表于2017-03-23 10:47 被阅读164次

软件自动化测试过程

软件自动化测试的基本对象即是页面元素,那么在进行自动化测试的第一步也就是定位页面元素,不管是Web应用、移动端应用还是桌面GUI程序应用,它们的原理都是一样:通过元素的各种已有属性(比如id、class、name、text、value、desc、xpath、index等)唯一的确定元素。
软件自动化测试的过程:


Paste_Image.png

WebDriver元素定位策略

这里说明下当前Web自动化测试的主流框架WebDriver的元素定位策略,相比web端,移动端和桌面GUI程序的元素定位要相对简单很多,移动端的关键控件基本都是有resource-id的,桌面GUI程序根据class和index就基本搞定大部分元素定位。

WebDriver中最直接的定位元素方式是用id 和 name,可是有时候你会发现很多标签中并没有id和name属性,那该如何定位?

By.id()

例如:<input id="accountId" type="text" name="account" value=""/>
通过id查找:WebElement element = driver.findElement(By.id("accountId "));

By.name()

通过name查找:WebElement element = driver.findElement(By.name(" account "));

By.xpath()

通过xpath查找:WebElement element = driver.findElement(By.xpath("//input[@id= "accountId "]"));

By.className()

例如:<p class="status">已上架</p>
通过className查找:WebElement element = driver.findElement(By.className("status");

By.cssSelector()

例如:<a class="btn new_promote " href="javascript:void(0);">新建推广</a>
通过cssSelector查找:WebElement element = driver.findElement(By.cssSelector("btn.new_promote");

By.linkText()

例如:<a class="modify" href="javascript:void(0);">编辑</a>
通过链接上的文字信息来定位元素:WebElement element = driver.findElement(By.linkText("编辑"));

By.partialLinkText()

通过部分链接文字进行匹配:WebElement element = driver.findElement(By.partialLinkText("推广"));
这可能会匹配到多个元素,默认会返回第一个匹配的元素。

By.tagName()

通过元素的标签名称来查找:List<WebElement> elements= driver.findElements(By.tagName("button");

<后续再写一篇专门讲解Xpath的元素定位>

PS: 更多原创技术好文和资料,请关注下方公众号:“测试开发栈”公众号是由具有多年测试、开发经验的老兵们共同管理和运营,旨在分享原创互联网软件测试、开发相关技术。
软件测试开发合并必将是趋势,不懂开发的测试、不懂测试的开发都将可能被逐渐替代,因此前瞻的技术储备和知识积累是我们以后在职场和行业脱颖而出的法宝,期望我们的经验和技术分享能让你每天都成长和进步,早日成为测试开发栈上的技术大牛~~同时也欢迎加入我们的QQ群交流和提问:427020613


相关文章

  • 【翻译】元素的定位与交互

    元素的定位与交互 Appium 支持 WebDriver 定位策略的子集: 通过 "class" 查找 (例如: ...

  • WebDriver元素定位策略

    软件自动化测试过程 软件自动化测试的基本对象即是页面元素,那么在进行自动化测试的第一步也就是定位页面元素,不管是W...

  • Xpath元素定位详解

    接上次《WebDriver元素定位策略》,这次进一步更深入的了解Xpath元素定位方法。 一、引言 通常情况下,使...

  • selenium 笔记 --- 元素定位【java】

    一、selenium 定位元素 在使用selenium webdriver进行元素定位时,通常使用findElem...

  • 自动化学习笔记(二)

    #页面元素定位 from seleniumimport webdriver import time from se...

  • 一文玩转 WebDriver API

    WebDriver API 进阶使用 元素定位 从之前的讲义和学习中,我们知道,WebDriver API的调用以...

  • WebDriver,java元素定位

    WebDriver定位网页元素可以通过“Find Element”和“Find Elements”来完成。“Fin...

  • WebDriver定位网页元素

    webDriver是Python 的一个用于实现web自动化的第三方库,以百度首页为例,学习元素定位。 首先使用前...

  • Webdriver中元素定位

    1、关键词contains //p[text()='营销平台'] 表示p标签内容为营销平台的元素 //input...

  • WebDriver 元素定位实例

    首先是id和name定位 id 和 name 是我们最常用的定位方式,因为大多数元素都有这两个属性,而且在对控件的...

网友评论

本文标题:WebDriver元素定位策略

本文链接:https://www.haomeiwen.com/subject/rkkznttx.html