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脚本是否可用。
  • 测试用例步骤:
    1. 在FireFox浏览器中打开百度首页。
    2. 在搜索框中输入"鼠绘汉化网"。
    3. 单击"搜索"按钮"。
    4. 页面显示搜索结果。
  • 环境准备:
    1. 使用FireFox浏览器执行Selenium3.x编写的自动化测试脚本时,需要从https://github.com/mozilla/geckodriver/releases 根据自己操作系统及浏览器下载对应的WebDriver操作FireFox的驱动程序。
    2. 下载后解压到geckodriver.exe文件。测试脚本程序如下:
    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()
    
    PyCharm中执行该脚本,会看到程序自动启动浏览器,访问百度首页,并在搜索框中输入关键内容“鼠绘汉化网”,单击搜索按钮后展现搜索结果,3秒后退出浏览器。
posted @ 2019-01-16 21:43  王路飞  阅读(172)  评论(0编辑  收藏  举报