• Selenium自动化测试实例-基于python


    一、Selenium介绍

    Selenium是一个Web开源自动化测试框架,具有页面级操作、模拟用户真实操作、API从系统层面触发事件等特点。

    1.版本

    Selenium 1.0 

    Sever/Client工作方式,可在本地或远程机器上运行基于JS注入的Case底层。

    为什么一定要用代理服务器的模式?答案是同源策略,它是由Netscape 提出的一个著名的安全策略,现在所有可支持JavaScript 的浏览器都在使用这个策略。

    Selenium 2.0

    Selenium 2.0基于Selenium 1.0(即JavaScript ),并结合其WebDriver模拟用户的真实操作。WebDriver原生绑定浏览器,绕过浏览器安全模型。它有很好的处理Ajax的能力,并且支持多种浏览器(如SafariIEFirefoxChrome等),可以运行在多种操作系统上。目前,很多人在使用Selenium 2.0

    Selenium 3.0

    Selenium3.0Selenium 2.0的基础上做了更多的改进,JDK的版本必须在1.8以上,geckodriver驱动必须在Firefox 48版本以上。该版本支持苹果公司的Safari浏览器,去掉了Selenium RC,全部采用了WebDriver等。总之,Selenium 3.0支持的原生驱动更加丰富。

    2.元素定位及用例编写

    1)多种方式定位并控制页面元素。掌握Web元素定位方式id namelinktext xpath tag css

    2)自动化测试用例。通过元素定位和步骤依次封装成自动化测试用例

    3.运行时注意驱动与浏览器的版本

    默认为谷歌(Chrome)驱动,

    如chromedriver.exeIEDriverServer.exe

     注意,版本需要兼容JDK 1.7以及IE 8~IE 10,如是IE 11及以上,需要更新驱动才能支持,请大家自行研究更新版本驱动或采用旧版本浏览器。

    二、 环境搭建

    https://pypi.python.org/pypi/selenium/#downloads selenium-3.8.0.tar.gz解压缩,切换到相应目录python setup.py install

    https://pypi.python.org/pypi/configparser/configparser-3.5.0.tar.gz 解压缩,切换到相应目录pyton setup.py install

    安装谷歌浏览器,选择默认安装。

    安装火狐驱动:chromedriver.exe,将文件到相应的正确的代码目录下。

    设置环境变量

    C:UserszhDesktopsoftwareautotestwebsrcchromedriver.exe。

    三、Web自动化测试源码实例演练

    web自动化测试实例-实现百度web中搜索“Python测试开发社区

    通过按F12键,以及左上角的箭头,单击要捕获的元素,就能定位到源码并查看该元素的信息,比如idtypenameclass等。搜索文本捕获到文本框idkw,百度一下按钮捕获到idsu,如图1和图2所示。

    1.功能描述

    引入SeleniumWebdriver驱动包,进入主函数,定义为谷歌浏览器驱动,取百度网页,查找控件元素idkw的文本框,Sendkeys输入软件自动化测试开发,查找控件元素idsu的按钮,单击“搜索”按钮,结束。

    ▲图1

    ▲图2

    百度web中搜索“Python测试开发社区”,

    程序清单:

    文件名webauto_testcase1.py


    #-*- coding: UTF-8 -*-

    import time

    from selenium import webdriver

    if __name__ == '__main__':

         globaldriver

      driver =webdriver.Chrome()

         driver.get("http://www.baidu.com")

         time.sleep(1)

         driver.find_element_by_id('kw').send_keys('Python测试开发社区')

         time.sleep(1) 

         driver.find_element_by_id('su').click() 

         time.sleep(5)

    driver.quit()

         print ('Done!')

         time.sleep(1)

    演示视频:

    你是不是觉得so easy呢?

  • 相关阅读:
    Linux网络基础配置
    UVA 116 Unidirectional TSP(dp + 数塔问题)
    修改Hosts文件
    倒排索引
    可以把阿里云上面的一些介绍和视频都看看
    练练脑,继续过Hard题目
    explicit的用法
    auto_ptr的使用和注意
    我写的快排程序
    快速排序、查第k大
  • 原文地址:https://www.cnblogs.com/finer/p/12313905.html
Copyright © 2020-2023  润新知