当前位置: 首页 > news >正文

Python+Selenium自动化测试环境搭建步骤(selenium环境搭建)

 

一、自动化简介

1.自动化测试概念:

      是把以人为驱动的测试转化为机器执行的一种过程,它是一种以程序测试程序的过程

2.自动化测试分类:

一般IT上所说的自动化测试是指功能自动化测试,通过编码的方式用一段程序来测试一个软件的功能,这样就可以重复执行程序来进行重复测试的目的。如果一个软件有小部分功能发生改变,只要修改一部分自动化测试代码,就可以重复对软件进行测试,从而提高测试效率。

3.什么样的项目适合做自动化测试:

      一般情况下,只要满足如下三个情况就可以开展自动化测试

      软件需求变更不频繁、项目周期较长、自动化测试脚本可重复使用

二、python+selenium自动化测试环境搭建步骤

对于很多想要学习自动化的小白而言,环境的搭建,一直以来都是很麻烦的事情,下面我们将基于Python语言来进行的自动化环境搭建,python+selenium自动化测试环境包括四个部分:python、selenium、chrome谷歌浏览器、chrome谷歌浏览器驱动。其中浏览器也可以是火狐,IE等。目前自动化的主流浏览器还是chrome谷歌浏览器

(1)python的安装

目前测试行业应用最广的编程语言当属Python为首。python现在主流是3.7的版本。安装很简单,在官网(官网地址:https://www.python.org)选择对应系统的版本直接下载,然后双击安装即可,安装路径可自定义,不是一定非要安装在C盘,但请尽可能避免中文路径。

python安装包后,需要配置环境变量,其实在3.7的安装过程中,第一个界面有一个“add python to path”的选项可以勾选(大概是这个名字)。勾选之后会自动将python添加到系统环境变量Path中。当然你也可以选择手动添加,添加方法如下:

我的电脑右键选择属性-->高级系统设置-->环境变量-->环境变量-->系统变量:找到path变量并修改,在Path路径的最前面加入:C:\Python37;C:\Python37\Scripts;    (如果你的python安装在其他路径请做相应的改动,笔者这里是默认路径)

特别要注意:很多新手会把Path中原来的内容删除掉,笔者提醒一下这个绝对不能这样做,慎重!慎重!慎重!

安装之后,运行CMD窗口,输入python指令,用于校验python是否安装成功。如下图表示成功!

另附上python开发工具PyCharm的官方下载地址:http://www.jetbrains.com/pycharm/download/

(2)selenium的安装

selenium可以通过pip命令进行安装,安装方法如下:

1. 打开cmd窗口

2. 输入:pip install selenium

3. 等待cmd窗口提示successful,则selenium安装成功,如中途中断了继续输入pip install selenium重新安装,不影响!

(3)chrome浏览器

目前网上谷歌浏览器下载的坑太多了,很多网站做得跟官网太像了。一不小心就会入坑,这里笔者提供Chrome官网的下载地址:

Chrome官网:Google Chrome 网络浏览器

下载完成后双击会自动安装。等待安装完成即可。

(4)安装chrome浏览器驱动

为什么需要浏览器驱动呢?这还得从selenium的原理开始讲:

       当Selenium提出了WebDriver的概念之后,它提供了利用浏览器原生的接口,封装成一套更加面向对象的Selenium WebDriver API,直接操作浏览器页面里的元素,甚至操作浏览器本身(截屏,窗口大小,启动,关闭,安装插件)。

       由于使用的是浏览器原生的接口,速度大大提高,而且调用的稳定性交给了浏览器厂商本身,显然是更加科学。然而带来的一些副作用就是,不同的浏览器厂商,对Web元素的操作和呈现多少会有一些差异,这就直接导致了Selenium WebDriver要分浏览器厂商不同,而提供不同的实现。例如Firefox就有专门的geckoDriver驱动,Chrome就有专门的Chrome驱动等。

这里特别要注意:chrome浏览器驱动必须和安装的chrome浏览器版本对应。那么如何保证对应呢?

1.先检查chrome浏览器的版本:点击chrome浏览器右上角的三个点-->帮助-->关于Google Chrome,如下图所示:

2.chrome浏览器驱动下载地址:

Chromedriver驱动下载地址:http://npm.taobao.org/mirrors/chromedriver/

找到和上图chrome版本最接近的版本:上图为:78.0.3904.108,所以这里驱动选择:

下载完成后:把chrome驱动包放入:C:\python37 目录下 (这个是必须的)

下载完成后:把chrome驱动包放入:C:\python37 目录下 (这个是必须的)

三、接下来就可以开启selenium自动化之旅了

快去试试在Pycharm中输入如下代码,看看是否能自动打开chrome浏览器,如果能打开则说明python+selenium自动化测试环境已经大功靠成了!

  1. from selenium import webdriver

  2. driver = webdriver.Chrome()

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

相关文章:

  • 企业微信发送消息
  • 基于Python的花卉识别分类系统【W9】
  • 高考没考好焦虑怎么选计算机专业!一篇告诉你,推荐三个风口专业!想学计算机怎么选大学专业
  • 【DPDK学习路径】九、学习分支
  • Python爬虫实现“自动重试”机制的方法(1)
  • Linux,shell ,gun基本概念和关系
  • 阿里云运维第一步(监控):开箱即用的监控
  • Mac电脑安装配置NVM
  • 开源语音合成模型ChatTTS本地部署结合内网穿透实现远程访问
  • 【笔记】【Git】多个dev分支合并到master分支的文件冲突
  • webpack和vite区别
  • c++相关的数据结构
  • 【1】kettle的使用(全网最新版)
  • 深入理解java设计模式之单例模式
  • IEEE802.11a中的同步
  • 深入了解以太坊
  • 07.Android之多媒体问题
  • Android单元测试 - 几个重要问题
  • Angular4 模板式表单用法以及验证
  • Computed property XXX was assigned to but it has no setter
  • JDK9: 集成 Jshell 和 Maven 项目.
  • nodejs调试方法
  • Python连接Oracle
  • React 快速上手 - 07 前端路由 react-router
  • Yii源码解读-服务定位器(Service Locator)
  • 高性能JavaScript阅读简记(三)
  • 基于web的全景—— Pannellum小试
  • 首页查询功能的一次实现过程
  • 微信小程序填坑清单
  • 源码安装memcached和php memcache扩展
  • 在Unity中实现一个简单的消息管理器
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • ​ssh免密码登录设置及问题总结
  • # AI产品经理的自我修养:既懂用户,更懂技术!
  • ######## golang各章节终篇索引 ########
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (39)STM32——FLASH闪存
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (二开)Flink 修改源码拓展 SQL 语法
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (四)模仿学习-完成后台管理页面查询
  • (转)详解PHP处理密码的几种方式
  • .Net开发笔记(二十)创建一个需要授权的第三方组件
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • /bin/bash^M: bad interpreter: No such file ordirectory
  • /etc/motd and /etc/issue
  • @Autowired 与@Resource的区别
  • @Autowired注解的实现原理
  • @data注解_一枚 架构师 也不会用的Lombok注解,相见恨晚
  • @DependsOn:解析 Spring 中的依赖关系之艺术
  • @Documented注解的作用