UI⾃动化笔记selenium_webdriver,UI⾃动化框架(web)
Selenium学习笔记
selenium webdriver是业界公认ui⾃动化测试的标准,其封装的api可以对浏览器的任何地⽅进⾏操作
selenium2.0和selenium3.0的区别?
3.0任何浏览器的⼚商都⽀持selenium,他们只要给予驱动就可以了,2.0只⽀持⽕狐和⾕歌
webdriver⼯作原理?
通过webdriver创建⼀个浏览器服务,remote server(底层服务).启动脚本后会通过驱动打开浏览器,并绑定端⼝,不同浏览器端⼝不同client端创建⼀个session来请求rmote server并发送restful请求,server解析后,完成代码的操作返回结果。
如何定位html中的元素?
1. 查看并分析html中所需定位的元素
2. 找到对于当前页⾯来说唯⼀的属性css
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$='xxx']$⽀持后者模糊匹配
input[name*='xxx']*表⽰包含,只要包含字段中的内容都可能会被匹配上css selector不⽀持⾓标取值,所以我们要灵活运⽤xpath和css selector结合
由于css是html原始⽀持,还可以⽀持很多定位⽅法,以上⼀些我们在⽇常通常都可以⽤了,如进⼀步学习可以参考。
粉丝专享
知己知彼百战不殆
更多面试题梳理和讲解
将不定期在群里发布
还有各类软测知识
VIP资源、资料包、面经、公开课
长按图片扫码入群↓↓↓
长按二维码
关注【松勤网课】视频号