软件测试笔记_09_自动化相关概念【重要】

本文详细介绍了自动化测试的相关概念,包括自动化的优势、自动化测试的目的和优点,以及Web自动化测试的选择和时机。重点讲解了Selenium作为主流Web自动化测试工具的特点、版本和使用。还深入探讨了元素定位、浏览器操作、元素等待、下拉框处理、弹出框处理、滚动条操作、frame切换和窗口截图等自动化测试的关键技术。通过本文,读者将全面理解自动化测试的实施和重要性。
摘要由CSDN通过智能技术生成

一、自动化相关概念知识

1. 自动化

(1)概念

由机器设备代替人工完成指定目标的过程

(2)优点

减少人工劳动力
提高工作效率
产品规格统一标准
规模化(批量生产)

2. 自动化测试

(1)概念

概念:让程序或工具代替人工去验证程序功能验证的过程

(2)解决

  1. 回归测试(重点)
    回归测试:项目在发新版本之后对项目之前的功能进行验证
  2. 压力测试
    压力测试:可以理解多用户同时去操作软件,统计软件服务器处理多用户请求的能力
  3. 兼容性(浏览器、分辨率、操作系统)
    兼容性测试:不同浏览器(IE、Firefox、Chrome)等等
  4. 提高测试效率

(3)优点

  1. 较少的时间可以运行较多的测试用例
  2. 自动化脚本可重复运行[持续集成]
  3. 减少人为的错误
  4. 克服手工测试的局限性[诸如-图片大小]

(4)误区

  1. 自动化测试可以完全替代手工测试(×)[图片、配置文件…注意:自动化覆盖了仅占有接近60%]
  2. 自动化测试一定比手工测试厉害(×)
  3. 自动化测试可以解决更多的bug(×)
  4. 自动化测试适用于所有功能(×)

(5)自动化测试分类

  1. Web-自动化测试(本阶段学习)
  2. 移动-自动化测试
  3. 接口-自动化测试
  4. 单元测试-自动化测试

3. Web自动化测试

概念:让程序代替人工自动验证Web项目功能的过程

(1)适合做web自动化测试的项目

  1. 需求变动不频繁的
  2. 项目周期长的
  3. 项目需要回归测试

(2)Web自动化测试在什么阶段开始

功能测试完毕(手工测试)

(3)Web自动化测试所属分类

  1. 黑盒测试(功能测试)
  2. 白盒测试(单元测试)
  3. 灰盒测试(接口测试)

Web自动化测试属于黑盒测试(功能测试)

4 Web自动化测试工具选择

1. 主流的Web自动化测试工具

  • QTP:收费,支持web、桌面软件自动化
  • selenium:免费 开源 只支持web应用
  • robot frameword:基于python扩展按键自驱动自动化工具,14年停更

2. selenium 英[səˈliːniəm]

(1)特点
  1. 开源软件:源代码开放可以根据需要来增加工具的某些功能 [不等价于免费]
  2. 跨平台:linux、windows、mac
  3. 支持多种浏览器:Firefox、Chrome、IE、Edge、Opera、Safari等
  4. 支持多种语言:Python、Java、C#、JavaScript、Ruby、PHP等
  5. 成熟稳定:目前已经被google、百度、腾讯等公司广泛使用
  6. 功能强大:能够实现类似商业工具的大部分功能,因为开源性,可实现定制化功能
(2)selenium 版本介绍
  • selenium 1.0
    ① selenium IDE (录制自动化代码工具)
    ② selenium Grid(分布式工具,同时启动多个浏览器)
    ③ selenium RC(通过js模拟浏览器,实现自动化方式)

  • selenium 2.0(稳定推荐版本)
    selenium 2.0 = selenium 1.0 + webdriver

  • selenium 3.0
    2.0升级版,支持java8、Windows10 Edge浏览器、ssfa浏览器

  • 提示:无论通过2.0 /3.0编写的自动化脚本,API方法都是不变的,唯一的不同是环境不同。

(3)selenium 使用
from time import sleep
# 1. 导webdriver包
from selenium import webdriver
# 2. 获取浏览器对象【首字母大写】
driver = webdriver.Chrome()
driver.get('http://www.baidu.com')
sleep(3)
# 3. 退出浏览器驱动
driver.quit()

二、自动化相关环境搭建

1. selenium

  • 安装selenium包 pip install selenium
    卸载pip uninstall selenium
    查看版本pip show selenium;

  • 安装浏览器驱动
    ① 火狐浏览器 驱动下载地址
    ② 谷歌浏览器 驱动下载地址
    查看谷歌浏览器版本,网页输入 chrome://version/

  • 应用
    ① 将浏览器驱动放在指定文件夹
    ② 将浏览器驱动所在目录添加到系统path环境变量中(我的电脑–属性–高级系统设置–高级(环境变量)–path)

  • pycharm直接安装
    file – setting – 当前工程 – project interpreter – 点击 + 安装相应版本
    如果使用 pip install 包名,导包import找不到时,说明pip默认安装路径与当前工程的环境路径不一致,进行上述处理即可解决。
    在这里插入图片描述

2. path 补充

  1. 指定系统的搜索目录
  2. dos命令默认搜索顺序
    ① 检测是否为内部命令
    ② 检测是否为当前目录下的可执行文件
    ③ 检测path环境变量指定的目录
  3. 提示:
    ① 如果以上搜索目录都检测不到输入的命令或可执行文件,系统会抛出内部或外部命令
    ② 在web环境中,如果不将浏览器驱动添加到path中,selenium在运行时会显示浏览器驱动有误。

三、元素定位

0. 补充

(1)本地url地址的转换

# \ 反斜杠-python中指转义字符;r 修饰字符串,不将反斜杠作为转义字符使用
url = r"F:\00大三\下学期\科三\假期\Bai\Ajax\03图书管理.html"
# 添加 双反斜杠 进行转义操作
url = "F:\\00大三\\下学期\\科三\\假期\\Bai\\Ajax\\03图书管理.html"
# 使用本地浏览器打开后 复制链接 在前面加上 file:///
url = "file:///F:/00%E5%A4%A7%E4%B8%89/%E4%B8%8B%E5%AD%A6%E6%9C%9F/%E7%A7%91%E4%B8%89/%E5%81%87%E6%9C%9F/Bai/Ajax/03%E5%9B%BE%E4%B9%A6%E7%AE%A1%E7%90%86.html"

1. 元素定位方式 (八种)

  1. id 基于元素属性
  2. name 基于元素属性
  3. class_name 基于元素属性
  4. tag_name 基于标签
  5. link_text 定位a标签
  6. partial_link_text 定位a标签
  7. XPath 基于元素路径定位
  8. CSS 基于元素选择器定位

(1)id 定位

  • 方法:element = driver.find_element(By.方法名, “value”) 4.x版本
  • 案例操作步骤
  1. 导包 from selenium import webdriver
  2. 导入By模块 from selenium.webdriver.common.by import By
  3. 获取浏览器对象 driver = webdriver.Chrome()
  4. 打开url driver.get(url)
  5. 捕获查找 element = driver.find_element(By.ID, "Id name xxxx")
  6. 输入对应值 element.send)keys("xxx")
  7. 关闭驱动 driver.quit()
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
# \ 反斜杠-python中指转义字符;r 修饰字符串,不将反斜杠作为转义字符使用
url = r"F:\00大三\下学期\科三\假期\Bai\Ajax\03图书管理.html"
driver.get(url)
bookname = driver.find_element(By.ID, "bookname")
bookname.send_keys("《书名》")
sleep(3)
driver.quit()

(2)name 定位

  • 举例:driver.find_element(By.NAME,"xxx").send_keys("根据name定位")

(3)class_name 定位

  • 举例:driver.find_elements(By.CLASS_NAME, "xxx")

(4)tag_name 定位

  • 标签名匹配
  • 举例:driver.find_element(By.TAG_NAME, "input")

(5)link_text 定位

  • 全部a标签
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值