• Selenium工具的各个组件以及演变历史你都了解吗


    Selenium是一款用于Web应用程序测试的工具,支持多平台、多浏览器、多语言去实现自动化测试。

    Selenium的特点如下:

    • 开源,免费

    • 多浏览器支持:Firefox、Chrome、IE、Opera、Edge等

    • 多平台支持:Linux、Windows、Mac

    • 多语言支持:Java、Python、Ruby、C#、JavaScript等

    • 支持分布式执行

    Selenium到目前为止已经经历了三个版本,Selenium 1.0 、Selenium 2.0和Selenium 3.0。

    Selenium 1.0

    Selenium IDE:早期是嵌入到Firefox浏览器中的一个插件,现在也支持Chrome浏览器了,能够实现简单的浏览器操作的录制与回放功能,并支持导出成对应语言的测试脚本。

    Selenium Grid:负责运行脚本,支持多机器不同环境之间运行相同的用例,提升测试效率。

    Selenium RC:分为Client和Server端,Client负责编写测试脚本,用来控制Server库。Server负责控制浏览器的行为。Server主要包含三部分:Launcher、Http Proxy和Core。Core是被嵌入到浏览器页面中的,通过一堆javascript函数就,就可以实现对浏览器的操作。Launcher不明思议就是用来启动浏览器,把core加载到浏览器页面中,并把浏览器的代理设置为Selenium Server的 Http Proxy.

    Selenium 2.0:

    Selenium2.0中加入了WebDriver,WebDriver是通过原生浏览器支持或者扩展去直接控制浏览器。WebDriver针对各个浏览器而开发,取代了嵌入到被测web应用中的javascript,与浏览器紧密集成,因此支持创建更高级的测试,避免了javascript安全模型导致的一些限制。

    Selenium与WebDriver 原始属于两个不同的项目,后期才合并成为一个框架。

    编写第一个自动化脚本:

    打开浏览器,访问百度首页,然后输入Selenium2,点击搜索按钮 

    from selenium import webdriver
    # 获取浏览器驱动driver = webdriver.Chrome() # 打开百度首页driver.get('http://www.baidu.com') # 在搜索框输入Selenium2driver.find_element_by_id('kw').send_keys('Selenium2') # 点击搜索按钮driver.find_element_by_id('su').click()

    运行脚本效果如下:

    Selenium 3.0:

    selenium3.0跟2.0版本相比,基本上没太大变化。

    • 应该是去掉了Selenium RC 

    • Selenium3.0只支持Java8版本以上,因此需要安装Java8及以上版本

    • Selenium3.0中的Firefox驱动独立了,同时支持Edge浏览器。可以将各个浏览器驱动放一个文件夹里面,然后设置环境变量。

    更多精彩文章扫码关注下面的公众号:

    也可以加作者个人微信,一起交流软件测试相关的技术和问题,以及学习资料共享

  • 相关阅读:
    基本MVVM 和 ICommand用法举例(转)
    WPF C# 命令的运行机制
    628. Maximum Product of Three Numbers
    605. Can Place Flowers
    581. Shortest Unsorted Continuous Subarray
    152. Maximum Product Subarray
    216. Combination Sum III
    448. Find All Numbers Disappeared in an Array
    268. Missing Number
    414. Third Maximum Number
  • 原文地址:https://www.cnblogs.com/xiaobotester/p/13288449.html
Copyright © 2020-2023  润新知