• 1
  • 2
分享
  • 【原创】手把手教你搭建 Selenuim 自动化环境
  • sylan215 2019-03-28 10:13:19 字数 2092 阅读 2483 收藏 2

看完这篇文章,你将学到如何在 Windows 上搭建基本的 Selenium 自动化环境。

1、本次使用的系统环境是最新的 Windows 10 17134 系统;

2、本次使用的 Python 版本为 3.4.4,使用这个版本的原因是 3.5 以后就不支持 XP 系统了,但是我有需要 XP 环境的需求,所以一直用的 3.4 版本,Python 下载地址:https://www.python.org/downloads/

3、本次使用的 Selenium 版本为最新的 3.13,如果你电脑只安装了一个版本的 Python 可以直接使用命令行进行安装。

python -m pip install selenium

如果你电脑安装了多个版本的 Python,并且使用我之前提到的「」进行重命名的话,请使用对应的命令行版本进行安装,如:

python34 -m pip install selenium

如果使用这个命令安装失败,可以多试几次,毕竟链接的是国外的站点,你懂的。

当然也可以自行到官网下载 whl 文件进行安装,whl 文件安装的命令行是:

python -m pip install selenium-xxx.whl

官方的安装说明可以在这里查看:http://selenium-python.readthedocs.io/installation.html#downloading-python-bindings-for-selenium

4、本次使用的浏览器版本为最新的 Google Chrome 68.0.3440.84(正式版本) (64 位),可以自行 FQ 下载,或者通过「360 软件管家」下载;

官方下载地址:https://www.google.com/chrome/

5、本次使用的 ChromeDriver 版本为最新的 2.41,这地方请注意下,不同的 ChromeDriver 版本支持的 Chrome 版本也可能有不同,建议这两个都更新到最新,避免重复踩坑;

如果使用的不是 Chrome 请自行安装对应的 Driver,所有的 Driver 地址可以在这里找到:http://selenium-python.readthedocs.io/installation.html#drivers

其中,ChromeDriver 的下载地址为:https://sites.google.com/a/chromium.org/chromedriver/downloads

同一个浏览器的 Driver 还区分不同的系统版本,比如 ChromeDriver 在 Windows 平台的文件是 chromedriver_win32.zip;

6、下载下来的 ChromeDriver 是一个 zip 包,Windows 版本的话,里面就是一个 chromedriver.exe,请注意:

需要把解压后的 chromedriver.exe 全路径添加到系统环境变量 path 里面;
path 修改后,需要重启命令行工具才生效;
可以通过在命令行敲命令 path,查看是否添加成功;
还有一个取巧的方法是把 chromedriver.exe 直接丢到 python 安装目录下的 scripts 目录下,没搞错的话,这个目录之前是添加过环境变量的,所以这样就不需要重新修改环境变量了。

7、如果严格按照上述步骤操作的话,基本的环境应该是准备好了,下面我们按照官方教程开始写第一个脚本:

# -*- coding: utf-8 -*-
"""
selenium webdriver test demo
"""
import time
from selenium import webdriver
def test():
    driver = webdriver.Chrome()
    driver.get('http://www.google.com/xhtml')
    time.sleep(2)  # Let the user actually see something!
    search_box = driver.find_element_by_name('q')
    search_box.send_keys('ChromeDriver')
    search_box.submit()
    time.sleep(5)  # Let the user actually see something!
    driver.quit()
if __name__ == '__main__':
    test()

8、运行后调用起来的 Chrome,如果看到提示「Crhome 正受到自动测试软件的控制」,则说明环境准备正确;

9、至此,Selenium 自动化环境就搭建成功,我们可以根据 webdriver api (http://selenium-python.readthedocs.io/api.html) 进行 selenuim 自动化之旅了。

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 大家都知道,测试Android系统原生态APP目前最好的工具使UiAutomation,随着DevOps的普及,我们需要尽早地发现程序中的缺陷,所以单元测试变得非常重要,Android系统推出了Espresso测试框架。Espresso与UiAutomation最显著区别在于UiAutomation可以测试一个APP多个界面(Active),而Espresso只能测试一个APP一个界面(Active),另外UiAutomation可以独立测试APP建立专门的Project,Espresso必须建立在待测APP同一个目录下。下面我向大家简单介绍一下Espresso。进行Espresso,首先在待...
            0 1 2698
            分享
          • TL;DR, 不需要!背景年前老东家裁员,我了解到的是原来不跟业务,纯做测试中台的几个同事基本都躺枪了,而技术不太行但是业务比较熟练的同事都留下了。这一波去中台化就很明显了。由于我在老东家也做测试中台,结合最近工作的感触,想聊聊这个事儿:测试到底需不需要中台?测试到底是干什么的我认为,测试工作的本质,就是平衡质量与效率。为了不出事故,总不能一点儿不测吧;为了能尽快发布,总不能事无巨细的测吧。执行质量和执行效率相同的前提下,用例越多,测试周期越长,质量越高。但是问题在于,用户会在意产品质量是不是100分么?并不是!精致的用户在意体验,严谨的用户在意稳定,大部分用户只在意能不能用。用户普...
            0 0 1041
            分享
          •   一般我们的软件项目类型分为三种  一、敏捷产品开发模式:持续收集客户需求,以固定的短周期不断更新Saas产品功能并发布到线上给客户使用。(平台化产品)  二、交付项目模式:根据客户合同定义的需求,制定完整的项目计划,在合同规定的时间内完成项目交付。  三、运维项目模式:产品或者项目不再进行功能更新,只解决一些线上问题。  针对于如上三种项目类型,JIRA里对应有两种面板:  Scrum  Scrum的核心概念——冲刺(Sprint),也可以称作为迭代,冲刺是用2到4周的时间来完成一定量的工作。Sprint有助于将项目范围分解为更容易管理的故事和任务,并频繁地交付正常运行的软件。Scrum侧...
            0 0 1099
            分享
          • 泸定6.8级地震发生时,四川、重庆部分居民的手机中都提前接到了地震预警信息,其中一张来自重庆网友的预警截图刷屏各大网站,“64秒后地震横波到达重庆市江北区,震中四川泸定,预警震级6.9级,震感较强”。一时间,“你手机的地震预警功能开了吗”“仅需10秒教大家如何打开手机地震预警”等话题迅速充上热搜。什么是地震预警?手机如何实现地震预警功能?9月7日,四川大学教授、地震预警与多灾种预警应用信息技术四川省重点实验室主任、成都高新减灾研究所所长王暾进行了解读。“预警”非“预报”多款国产手机已内置该功能“地震预警常与地震预报混淆,一字之差却谬以千里。”王暾说,地震预报是在地震还没有发生时,通过研究分析,...
            0 0 967
            分享
          • 1、一次插入多行数据插入行所需的时间是由以下因素决定的:・连接:30%・向服务器发送查询:20%・解析查询:20%・插入行:10% x 行的大小・插入索引:10% x 索引数・结束:10%这是引用 参考MySQL 5.7参考手册可以发现,大部分时间是消耗在客户端与服务器之间的通信,所以,我们就可以使用insert包含多个值来减少客户端和服务器之间的通信。为了能更直观的看到效果,我们还是老规矩,上例子,在例子中看效果。1.1 准备测试表及数据创建测试表及写入数据。 /* 使用ClassDJ这个database */ use ClassDJ; &n...
            1 0 4654
            分享
      • 51testing软件测试圈微信