web自动化测试
web自动化测试
自动化测试工具 selenium
安装
pip install selenium
第二章 Selenium-API操作
元素定位方式
-
八种元素定位方式
- id 属性
username = driver.find_element("id","userA")
- name 属性
driver.find_element("name", "userA").send_keys("admin")
- class name 属性
driver.find_element("class name", "telA").send_keys("18611111111")
- tag name 标签
driver.find_element("tag name", "input").send_keys("admin")
- link test 超链接a
driver.find_element("link text","访问 新浪 网站").click()
- partial link test 超链接a
driver.find_element("partial link text", "访问").click()
- css 选择器
# 1).使用CSS定位方式中id选择器定位用户名输入框,并输入:admin driver.find_element("css selector", '#userA').send_keys("admin") # 2).使用CSS定位方式中属性选择器定位密码输入框,并输入:123456 driver.find_element("css selector", '[name = "passwordA"]').send_keys("123456") # 3).使用CSS定位方式中class选择器定位电话号码输入框,并输入:18600000000 driver.find_element("css selector", '.telA').send_keys("18600000000") # 4).使用CSS定位方式中元素选择器定位注册按钮,并点击 driver.find_element("css selector", "[value = '注册A']").click()
input[type^='p'] type属性以p字母开头的元素 input[type$='d'] type属性以d字母结束的元素 input[type*='w'] type属性包含w字母的元素
- xpath 路径
# /绝对路径(单斜杠/) driver.find_element("xpath", "html/body/form/div/fieldset/p[1]/input").send_keys("admin") sleep(2) # 相对路径 (//双斜杠) # driver.find_element("xpath", "//div/fieldset/p[2]/input").send_keys("123") # 相对路径+ 属性 # driver.find_element("xpath", "//input[@name ='passwordA']").send_keys("123") # 相对路径+ 层级 # driver.find_element("xpath", "//p[2]/input").send_keys("123") # 相对路径 +逻辑 driver.find_element("xpath", "//input[@name ='passwordA' and @placeholder='密码A']").send_keys("123") # xpath扩展 # //*[text()="xxx"] 文本内容是xxx的元素 # driver.find_element("xpath", "//*[text() = '访问 新浪 网站']").click() # //*[contains(@attribute,'xxx')] 属性中含有xxx的元素 # driver.find_element("xpath", "//*[contains(@id ,'AAA')]").click() # //*[starts-with(@attribute,'xxx')] 属性以xxx开头的元素 driver.find_element("xpath", "//*[starts-with(@id,'AA')]").click()