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

一文7个步骤从0到1教你搭建Selenium 自动化测试环境

【导语】Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。本文详细介绍了搭建自动化测试环境所需的工具,让你学习自动化测试不求人!

写在前面

学习selenium需要的工具:

1、浏览器;
2、Python;
3、Selenium;
4、FireBug(Firefox);
5、驱动chromedriver、IEDriverServer、geckodriver;
6、IDE(Pycharm/Sublime/Eclipse等等)

一、浏览器

Selenium支持很多浏览器,那么要选择哪个浏览器?选择哪个版本呢?小白建议用Firefox,当然Chrome,IE,Safari等浏览器也是支持的,只是需要相应的驱动driver。

这里推荐使用Firefox(火狐浏览器),因为小白前期可能很难定位元素,需要借助一款插件firebug,所以先在Firefox熟悉了在使用其他浏览器。

这里无所谓什么新不新版的Firefox,最新版都是可以使用的,需要的驱动下面会讲到。

二、Python

Windows下安装Python很简单,官网下包直接装就行。

三、Selenium

Python环境搭建好了以后,安装selenium就简单了,安装selenium直接使用pip安装

pip install selenium

四、插件FireBug

FireBug是火狐浏览器的一款查看代码元素的插件,推荐新手安装,可以快速的定位元素,selenium的重点就是元素定位,只有定到位了,才能进行下一步操作。

安装方法:打开Firefox浏览器,点击右上角按钮,点击附加组件,点击扩展,搜索firebug,点击安装,重启。

测试安装成功,按F12出现如下画面,表示firebug已经安装成功了。

五、驱动安装(Windows环境下)

Firefox:

新版本的Firefox浏览器需要安装geckodriver驱动

使用方法:

1、下载完成解压;

2、将geckodriver放到python文件下

3、添加到环境变量中(例如:G:\Python36\geckodriver.exe)

Chrome:

如果需要使用Chrome浏览器或者IE浏览器,则需要对应的驱动,chromedriver,chromedriver没有64位版本,32即可驱动:

下载地址:https://npm.taobao.org/mirrors/chromedriver。使用方法同geckodriver。

IE:

IEDriverServer,下面链接能够下载所有版本的selenium以及IEDriverServer,注意IEDriverServer区分32位/64位:

下载地址:http://selenium-release.storage.googleapis.com/index.html。使用方法同geckodriver。

六、IDE的选择

IDE可以用python自带的IDLE,也可以用一些编辑器,例如Sublime以及Pycharm。

七、测试打开浏览器

输入以下代码:

# -*- coding: utf-8 -*- from selenium import webdriver driver = webdriver.Firefox() driver.get("https://www.baidu.com")

打开Firefox浏览,并且打开百度首页:

如果你还有许多困惑,那么我整理的视频资源和文档会是你的良师益友,或许可以给你带来一些实际性的帮助与突破【保证100%免费】

相关文章:

  • 【网络安全工程师】从零基础到进阶,看这一篇就够了
  • 【C陷阱与缺陷】----语法陷阱
  • 解忧杂货铺(五续集):用了无法离开的网站资源
  • 功能测试转型测试开发年薪27W,又一名功能测试摆脱点点点,进了大厂
  • iOS 紧急通知
  • 艹,终于在8226上把灯点亮了
  • Linux上用Samba建立共享文件夹并通过Linux测试
  • shell简单使用介绍
  • 关于中级开发工程师常问的面试题
  • 蓝桥杯刷题第二十天
  • 二叉树(数据结构系列9)
  • mybatis-plus的批量新增insertBatchSomeColumn
  • Linux内核IO基础知识与概念
  • Java - 配置中心初体验
  • 面试--每日一经
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • CSS中外联样式表代表的含义
  • interface和setter,getter
  • JavaScript对象详解
  • Netty 4.1 源代码学习:线程模型
  • Node + FFmpeg 实现Canvas动画导出视频
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • 基于webpack 的 vue 多页架构
  • 两列自适应布局方案整理
  • 说说动画卡顿的解决方案
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 小程序开发中的那些坑
  • 小李飞刀:SQL题目刷起来!
  • 鱼骨图 - 如何绘制?
  • 责任链模式的两种实现
  • 阿里云ACE认证之理解CDN技术
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • $L^p$ 调和函数恒为零
  • (1)(1.11) SiK Radio v2(一)
  • (c语言)strcpy函数用法
  • (二)windows配置JDK环境
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (篇九)MySQL常用内置函数
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据
  • .NET MVC第五章、模型绑定获取表单数据
  • .NET 读取 JSON格式的数据
  • .NET/C# 项目如何优雅地设置条件编译符号?
  • .NET开源项目介绍及资源推荐:数据持久层
  • .Net小白的大学四年,内含面经
  • .skip() 和 .only() 的使用
  • @Import注解详解
  • [Android]竖直滑动选择器WheelView的实现
  • [CodeForces-759D]Bacterial Melee
  • [iOS]iOS获取设备信息经常用法
  • [JS入门到进阶] 7条关于 async await 的使用口诀,新学 async await?背10遍,以后要考!快收藏
  • [leetcode]_String to Integer (atoi)