Selenium自动化测试 一、自动化测试简介 1. 自动化测试是把以人为驱动的测试行为转化为及其执行的一种过程。 2. 层次分类:UI层(10%)、service层(20%)、unit层(70%) 接口测试:模块组件与组件之间的测试,在投入相同的成本下,接口测试。 3. 适合自动化测试的测试场景: 任务测试明确,不会频繁变动。 回归测试比较频繁。 界面比较稳定。 有大量的重复任务。 软件的维护周期较长。 项目进度方面压力较小。 测试人员具备较强的编程能力。 4. UI自动化的case是从功能用力中来的,如果迭代周期较短,可以选取功能用例中的核心用例。 5. 自动化率:60%-80% 自动化测试不能完全代替手工测试。 二、常用自动化测试工具 1. QTP:收费、支持B/S、C/S,主要用于回归测试和同一软件新版本的测试。 2. RF:基于Python编写的自动化测试框架,支持关键字驱动,具备良好的可扩展性,可进行分布式测试。主要用于轮次很多的验收测试和验收测试驱动开发。 3. Selenium:是thoughtworks公司开发的一个用于Web应用程序的测试工具,是免费的开源测试工具。主要用于Web应用程序测试的工具,测试直接运行在浏览器中,就像真正的用户在操作一样,主要功能包括:测试与浏览器的兼容性,测试你的应用程序看是否能够很好得工作在不同的浏览器和操作系统之上。 4. 分布式测试:单例模式:一个浏览器再跑; 多例模式:多个浏览器在跑。 5. 特点: 支持众多浏览器 支持多种语言 开源、免费 支持众多平台 对web页面具有良好的支持 简单(API)、灵活(用于开发语言驱动) 支持分布式测试用例 三、selenium发展史 1. IDE:录制脚本 2. Grid:实现分布式 3. Selenium RC Client libraries:用于编写测试脚本。 Selenium server:负责控制浏览器行为,包含3部分:launcher、http Proxy、Core Launcher:用于启动浏览器,把selenium core加载到浏览器页面当中,并把浏览器的代理设置为selenium server 的HTTP proxy Http proxy:拦截请求 Selenium Core:就是一堆JavaScript函数的集合,通过这些函数,解释selenium命令,我们才可以实现用程序对浏览器的操作。 4. 版本:selenium3.0实在selenium2.0的基础上,彻底放弃selenium RC, 把FirefoxDriver独立化。 5. Webdriver原理:运行脚本后,对浏览器驱动发送请求。 四、Selenium的使用 搭建selenium环境
安装selenium是python客户端库pip install selenium
安装浏览器
安装浏览器驱动
from selenium import webdriver
# driver = webdriver.Chrome()
# driver.get("https://www.baidu.com/")
driver1 = webdriver.Firefox()
driver1.get("https://www.baidu.com/")
|