web自动化测试按步骤拆分,可以分为四步操作:定位元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告。
其中定位元素尤为关键,此篇是使用webdriver通过页面各个元素的属性值定位对象。
步骤:
一:环境准备
1.浏览器选择:Firefox
2.安装插件:Firebug和FirePath(设置》附加组件》搜索:输入插件名称》下载安装后重启浏览器)
3.安装完成后,页面右上角有个小爬虫图标
4.快速查看xpath插件:XPath Checker这个可下载,也可以不用下载
5.插件安装完成后,点开附加组件》扩展,有firebug、firepath、xpath checker已经安装完成
二:元素定位
通过firebug查看对象的属性值,根据webdriver提供的元素定位方法,定位。
其中:selenium的webdriver提供了八种基本的元素定位方法,前面六种是通过元素的属性来直接定位的,后面的xpath和css定位更加灵活。
1.通过id定位:find_element_by_id()
2.通过name定位:find_element_by_name()
3.通过class定位:find_element_by_class_name()
4.通过tag定位:find_element_by_tag_name()
5.通过link定位:find_element_by_link_name()
6.通过partial_link定位:find_element_by_partial_link_name() 超链接名称模糊匹配方式
7.通过xpath定位:find_element_by_xpath()
8.通过css定位:find_element_by_css_name()
通过xpath定位:
1.如果一个元素它既没有id、name、class属性也不是超链接,或者说它的属性很多重复的,这个时候就可以用xpath解决
2.xpath是一种路径语言,firepath插件查看一个元素的xpath,进行使用定位
通过css定位:
1.css是另外一种语法,比xpath更为简洁,先学会如何用工具查看
2.打开FirePath插件选择css,查看使用
实践:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #coding=utf-8 # selenium的webdriver元素定位 from selenium import webdriver import time driver = webdriver.Firefox() driver.get( "https://www.baidu.com/" ) time.sleep( 5 ) driver.find_element_by_id( "kw" ).send_keys( "python" ) time.sleep( 3 ) driver.find_element_by_id( "kw" ).clear() time.sleep( 3 ) #点击百度首页的超链接 driver.find_element_by_link_text( "百度首页" ).click() time.sleep( 3 ) #点击登录按钮 driver.find_element_by_xpath( ".//*[@id='u1']/a[7]" ).click() time.sleep( 3 ) |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步