自动化测试_webdriver的基本操作

自动化测试_webdriver的基本操作

1.webdriver元素定位分类

  • id、name、class_name:元素属性定位
  • tag_name:元素标签名称
  • link_text、partial_link_text:超链接定位
    2.id定位操作实例
    (1)id定位方法:find_element_by_id()
    (2)id定位实现:
# 导包
from selenium import webdriver
import time

# 实例化谷歌浏览器
driver=webdriver.Chrome()

# 打开注册A.html
url=r"D:\__MyFiles__\春招\阶段7-自动化测试开发 (2)\注册A.html"
driver.get(url)

# 调用id定位方法
input1=driver.find_element_by_id("userA")

# 使用send_keys()方法发送数据
input1.send_keys("admin")

# 暂停1秒
time.sleep(1)

# 关闭浏览器
driver.quit()

3.name定位操作实例
(1)定位方法:find_element_by_name()
(2)name定位实现:

# 导包
from selenium import webdriver
import time

# 实例化谷歌浏览器
driver=webdriver.Chrome()

# 打开注册A.html
url=r"D:\__MyFiles__\春招\阶段7-自动化测试开发 (2)\注册A.html"
driver.get(url)

# 调用name定位方法
input2=driver.find_element_by_name("passwordA")

# 使用send_keys()方法发送数据
input2.send_keys("123456")

# 暂停1秒
time.sleep(1)

# 关闭浏览器
driver.quit()

4.class_name定位操作实例
(1)class_name定位方法:find_element_by_class_name()
(2)class_name定位实现:

# 导包
from selenium import webdriver
import time

# 实例化谷歌浏览器
driver=webdriver.Chrome()

# 打开注册A.html
url=r"D:\__MyFiles__\春招\阶段7-自动化测试开发 (2)\注册A.html"
driver.get(url)

# 调用class_name定位方法
input3=driver.find_element_by_class_name("telA")

# 使用send_keys()方法发送数据
input3.send_keys("1234567890")

# 暂停1秒
time.sleep(1)

# 关闭浏览器
driver.quit()

5.tag_name定位操作实例
(1)tag_name定位方法:find_element_by_tag_name()
(2)tag_name定位实现:
注意:此处应使用find_elements_by_tag_name(),因为返回的定位元素格式为列表,而列表格式的读取需要指定下标(下标从0开始)

# 导包
from selenium import webdriver
import time

# 实例化谷歌浏览器
driver=webdriver.Chrome()

# 打开注册A.html
url=r"D:\__MyFiles__\春招\阶段7-自动化测试开发 (2)\注册A.html"
driver.get(url)

# 调用tag_name定位方法
input3=driver.find_elements_by_tag_name("input")

# 使用send_keys()方法发送数据
input3[3].send_keys("1234@163.com")

# 暂停1秒
time.sleep(1)

# 关闭浏览器
driver.quit()

6.link_text定位操作实例
(1)find_element_by_link_text()
(2)link_text定位实现:

# 导包
from selenium import webdriver
import time

# 实例化谷歌浏览器
driver=webdriver.Chrome()

# 打开注册A.html
url=r"D:\__MyFiles__\春招\阶段7-自动化测试开发 (2)\注册A.html"
driver.get(url)

# 调用link_text定位方法:全称
link1=driver.find_element_by_link_text("AA 百度 网站")

# click点击
link1.click()

# 暂停1秒
time.sleep(1)

# 关闭浏览器
driver.quit()

7.partial_link_text定位操作实例
(1)find_element_by_partial_link_text()
(2)partial_link_text定位实现:

# 导包
from selenium import webdriver
import time

# 实例化谷歌浏览器
driver=webdriver.Chrome()

# 打开注册A.html
url=r"D:\__MyFiles__\春招\阶段7-自动化测试开发 (2)\注册A.html"
driver.get(url)

# 调用partial_link_text定位方法:不用全称
link1=driver.find_element_by_partial_link_text("AA")

# click点击
link1.click()

# 暂停1秒
time.sleep(1)

# 关闭浏览器
driver.quit()

8.xpath元素定位

  • 根据元素自身特征定位://标签(可以用表示)[@属性=“属性值”]
    (1)class://
    (星号)[@class=“header”]
    (2)id://(星号)[@id=“app”]
    (3)其他://标签(可以用
    星号表示)[@属性=“属性值”]
    (4)多个属性://标签(可以用星号表示)[@属性1=“属性值”][@属性2=“属性值”]
    或者://标签(可以用
    星号表示)[@属性1=“属性值” and @属性2=“属性值”]
    (5)属性值部分匹配://*(星号)[contains(@属性,“部分属性值”)]
  • 根据元素层级关系定位:
    (1)上下级关系:
    A:后代关系(可以跨级):祖先//后代
    B:父子关系:父元素/子元素
    (2)同级关系:
    A:哥哥
    a:弟弟/preceding-sibling::哥哥[n]
    1)n从1开始表示正数
    2)last()表示倒数第一
    b:弟弟/preceding-sibling::哥哥们
    B:弟弟
    a:哥哥/following-sibling::弟弟[n]
    1)n从1开始表示正数
    2)last()表示倒数第一
    b:哥哥/following-sibling::弟弟们
    9.css元素定位
  • 根据元素特征进行定位
    (1)元素标签
    如:div定义当前页面所有div元素
    (2)元素属性
    A:根据id定位(#id值)
    B:根据class定位
    1).class值
    2)多个class:.class1.class2
    C:根据其他属性定位的语法:[属性=“属性值”]
    D:根据多个属性符合定位:[属性1=’'属性值"][属性2="属性值”]
  • 根据元素层级关系进行定位
    (1)上下级关系
    A:后代关系:祖先元素 后代元素
    B:父子关系:父元素>子元素
    C:指定子元素:
    1)子元素:nth-child(n) #注意n从1开始
    2)子元素:nth-last-child(n) #倒数
    (2)同级关系
    A:哥哥定位弟弟:哥哥+弟弟
    B:哥哥定位弟弟们:哥哥~弟弟
  • 复合应用
    A:父子加属性
  • 验证表达式
    A:控制台+F12,elements标签下,按下ctrl+F,打开元素搜索框
    B:控制台+F12,console,输入$$(“css表达式”)
    测试报告生成-allure
  • 生成报告缓存文件:–allure=tmp/my_allure_results
  • 打开测试报告:allure serve tmp/my_allure_results
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值