Selenium自动化测试框架-01
Posted ghauoa
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Selenium自动化测试框架-01相关的知识,希望对你有一定的参考价值。
1.Selenium简介
Selenium是一款适用于Web应用程序的便携式软件测试框架,通过模拟浏览器执行操作的工具。 Selenium为编写测试提供了一个回放工具,无需学习测试脚本语言。它还提供了一种测试领域特定的语言,用于编写包括C#,Groovy,Java,Perl,php,Python,Ruby和Scala等多种流行编程语言的测试。
Selenium官网地址:https://www.seleniumhq.org/
2.自动化测试那点事
2.1 自动化测试目标
- 提高测试人员的工作成就感,减少手工测试的重复性工作
- 提高测试用例的执行效率,实现快速自动化回归测试,能够给开发团队高质量反馈
- 插入大量的测试数据来验证系统的处理能力
- 提供了有关测试用例的严格文档。
- 能够使用自动化完全取代手工测试,能够发现更多的bug ,更不容易出错
2.2 自动化测试工具比较
目前主流的Web自动化测试工具是Selenim WebDriver和QTP,下面详细比较这两种工具的特点:
特征 | Selenium | HP QTP |
---|---|---|
许可 | 开源工具 | 有版权 |
客户支持 | Selenium社区论坛 | 专门的HP支持 |
测试支持 | 仅支持基于Web的应用程序的自动化 | 支持基于Web和桌面的应用程序的测试 |
测试脚本执行期间的资源消耗 | 资源消耗低 | 资源消耗高 |
支持的编程语言 | Java, C#, Ruby, Python, Perl, PHP and javascript | VB Script |
支持的环境 | android, ios, Windows, Linux, Mac, Solaris | 仅适用于Windows |
支持的浏览器 | 谷歌浏览器,Mozilla Firefox,Internet Explorer,Edge,Opera,Safari等 | 特定版本的Google Chrome,Mozilla Firefox和Internet Explorer |
对象存储库/恢复方案 | 无 | 内置对象存储库和恢复方案 |
浏览器控件 | 无 | 可在浏览器中访问收藏夹栏,后退和前进按钮等控件 |
测试报告生成 | 它依赖于外部工具来生成测试报告 | 在工具中生成内置测试报告 |
参数设置 | 依赖任何一种受支持的编程语言进行参数化 | 内置工具可用于参数化 |
综上,具备一定编程能力的测试团队更适用于选择Selenium WebDriver作为团队的主要Web自动化测试工具,对于预算充足且团队成员的编程能力一般的 测试团队更适合选择QTP工具作为团队的Web自动化测试工具。
2.3 Selenium的局限性
- Selenium不支持桌面应用程序的自动化测试
- 没有像UTF/QTP这样的内置对象存储库来维护集中位置的对象/元素。 但是,可以使用Page Object Model克服此限制
- Selenium是开源软件,因此必须依靠社区论坛来解决技术问题
- Selenium没有任何内置的报告功能; 必须依赖JUnit和TestNG等插件来获取测试报告
- Selenium不为测试管理提供任何测试工具集成
3.Selenium安装和第一个WebDriver脚本
3.1 Python中安装WebDriver
- 安装好Python、pip工具后,在cmd中键入“pip install selenium" ,若成功,则跳转(3)
- 下载Selenium离线安装包,访问selenium安装包,选择.gz的源码包下载,完成后解压该文件到任意目录,通过cmd将当前目录切换到setup.py文件所在的目录,然后执行python setup.py install命令进行安装。
- 通过cmd下输入“Python”进入Python交互模式,执行“import selenium”,若没有报错,则Selenium安装成功。
3.2 第一个WebDriver脚本
- 测试目标:
使用FireFox浏览器验证WebDriver脚本是否可用。 - 测试用例步骤:
- 在FireFox浏览器中打开百度首页。
- 在搜索框中输入"鼠绘汉化网"。
- 单击"搜索"按钮"。
- 页面显示搜索结果。
- 环境准备:
- 使用FireFox浏览器执行Selenium3.x编写的自动化测试脚本时,需要从https://github.com/mozilla/geckodriver/releases 根据自己操作系统及浏览器下载对应的WebDriver操作FireFox的驱动程序。
- 下载后解压到geckodriver.exe文件。测试脚本程序如下:
PyCharm中执行该脚本,会看到程序自动启动浏览器,访问百度首页,并在搜索框中输入关键内容“鼠绘汉化网”,单击搜索按钮后展现搜索结果,3秒后退出浏览器。from selenium import webdriver import time #声明浏览器,通过executable_path参数指明FireFox驱动文件所在路径 driver = webdriver.Firefox(executable_path="D:\geckodriver") #driver=webdriver.Chrome(executable_path="D:\chromedriver") #打开百度首页 driver.get("http://www.baidu.com") #清空搜索输入框默认内容 driver.find_element_by_id("kw").clear() #搜索框输入鼠绘汉化网 driver.find_element_by_id("kw").send_keys(u"鼠绘汉化网") #单击搜索按钮 driver.find_element_by_id("su").click() #等待3秒 time.sleep(3) #退出浏览器 driver.quit()
以上是关于Selenium自动化测试框架-01的主要内容,如果未能解决你的问题,请参考以下文章
python+selenium+unittese 自动化测试框架
Selenium+java - 手把手一起搭建一个最简单自动化测试框架