从零开始学习软件测试-第33天笔记

web自动化

自动化的优点

  • 提高工作效率
  • 减少人工劳动力
  • 规模化,统一标准

自动化的应用场景

  • 回归测试(全回归)
  • 压力测试
  • 兼容性测试

自动化测试的优点

  • 较少的时间运行更多的测试用例
  • 自动化脚本可以重复运行
  • 减少人为的错误
  • 克服手工测试的局限性

自动化测试的误区

  • 自动化可以完全代替手工测试
  • 自动化可以发掘更多的bug
  • 自动化一定比手工测试厉害
  • 自动化可以适用于所有的功能

自动化测试的分类

  • web自动化
  • 移动端自动化
  • 接口自动化
  • 单元测试自动化

什么样的项目适合做自动化测试

  • 需求变动不频繁的
  • 项目周期长的
  • 项目需要做回归测试的

web自动化

  • 开始时间:功能测试完毕之后
  • 所属分类:黑盒测试
  • 工具:selenium

selenium的特点

  • 开源并且免费
  • 可以在多种系统,浏览器上使用
  • 支持多种语言
  • 成熟稳定,功能强大

selenium的工作原理

  • 由selenium中的webdrive调用对应的浏览器驱动。
  • 因为webdriver和浏览器驱动的底层都是由nodejs语言写的,所以能互相调用。
  • 再由浏览器驱动调用对应的浏览器,从而实现自动化。

pip工具的使用

  • pip是python自带的包管理工具,可以安装、卸载、查看
  • 安装
    • pip install 包名 == 版本号
      • 如果加了版本号,就下载指定的版本,没有加版本号,就默认下载最新的
  • 卸载
    • pip uninstall 包名
  • 查看指定包详情
    • pip show 包名
  • 查看所有的包
    • pip list
  • 使用pip镜像下载

使用代码打开一个网页

# 导包
from selenium import webdriver
from time import sleep

# 创建浏览器驱动对象
driver = webdriver.Firefox()

# 打开百度页面
driver.get("http://www.baidu.com/")

# 等待三秒
sleep(3)

# 关闭
driver.quit()

元素定位

  • id定位
    • 使用元素的id属性进行定位
    • driver.find_element_by_id(id的属性值)
  • name定位
    • 使用元素的name属性进行定位
    • driver.find_element_by_name(name的属性值)
  • class_name定位
    • 使用元素的class属性进行定位
    • driver.find_element_by_class_name(class的属性值)
  • tag_name定位
    • 使用元素的标签名进行定位
    • driver.find_element_by_tag_name(标签名)
  • link_text定位
    • 专门用来定位超链接的
    • driver.find_element_by_link_text(超链接的全部文本内容)
  • partial_link_text定位
    • 也是用来定位超链接的,但可以模糊匹配
    • driver.find_element_by_partial_link_text(部分并且连续的文本内容)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值