> 文档中心 > 【自动化测试】UI⾃动化笔记selenium_webdriver,UI⾃动化框架(web)

【自动化测试】UI⾃动化笔记selenium_webdriver,UI⾃动化框架(web)

文章目录

  • 前言
  • 1、selenium2.0和selenium3.0的区别?
  • 2、如何定位html中的元素?
  • 3、selector与xpath区别?
  • 总结

前言

Selenium学习笔记。


提示:以下是本篇文章正文内容,下面案例可供参考


selenium webdriver是业界公认ui⾃动化测试的标准,其封装的api可以对浏览器的任何地⽅进⾏操作。

1、selenium2.0和selenium3.0的区别?

3.0任何浏览器的⼚商都⽀持selenium,他们只要给予驱动就可以了,2.0只⽀持⽕狐和⾕歌

webdriver⼯作原理?

通过webdriver创建⼀个浏览器服务,remote server(底层服务).启动脚本后会通过驱动打开浏览器,并绑定端⼝,不同浏览器端⼝不同client端创建⼀个session来请求rmote server并发送restful请求,server解析后,完成代码的操作返回结果。

2、如何定位html中的元素?

  1. 查看并分析html中所需定位的元素

  2. 找到对于当前页⾯来说唯⼀的属性css

3、selector与xpath区别?

其有着不同的定位⽅式,择优选择最佳的定位⽅式

xpath可以通过⾓标定位到⼀些css selector定位不到的元素

css selector基于html,能快速取到值,

xpath底层要从xml转换成html对代码执⾏效率会受到影响,

还依赖转化的准确度xpath定位xpath是xml的路径语⾔

/html/body/div/div/div/ul/li/a[@href=“/xpath/xpath_syntax.asp”]从祖先html开始查找定位元素,可以不⽤写⾓标注意:⼀个/表⽰其⼦元素查找,//表⽰模糊匹配查找

//*获取页⾯所有元素

//*[@id=‘xxxx’]@表⽰以id属性定位

//input[@id=‘xxx’]input表⽰以input标签名进⾏定位

//input[1]如果出现不唯⼀的请求可以通过⾓标的形式取,注意⾓标从1开始

//input[1]/input[1]层级定位⽅式,/表⽰当前层级内

//input[@id=‘xxx’ and @class=‘xxx’]#逻辑定位⽅法,通过多种属性确⽴唯⼀

xpath(定位⽅法尽量少⽤层级定位,如果修改了层级位置会导⼊所有定位都失效,以属性定位为主) css selector定位html的css选择器标签定位

#i1表⽰查找id属性为i1的元素

.i1表⽰查找class属性为i1的属性

[name=‘xxx’]表 ⽰ 查 找 name 属 性 定 位 input[name=‘xxx’]可以通过标签名进⾏检索来缩⼩范围input#name查找input标签中id为name的元素

input[name=‘xxx’][id=‘xxx’][class=‘xxx’]input标签下多属性确⽴唯⼀input>input[id=‘xxx’]>表⽰递进⼀层

input[name=‘xxx’]⽀持前者模糊匹配input[name = ′ x x x ′ ] ='xxx'] =xxx]⽀持后者模糊匹配

input[name*=‘xxx’]*表⽰包含,只要包含字段中的内容都可能会被匹配上css selector不⽀持⾓标取值,所以我们要灵活运⽤xpath和css selector结合

由于css是html原始⽀持,还可以⽀持很多定位⽅法,以上⼀些我们在⽇常通常都可以⽤了,如进⼀步学习可以参考。


总结

selenium webdriver是业界公认ui⾃动化测试的标准,其封装的api可以对浏览器的任何地⽅进⾏操作。