Python3+Selenium3自动化测试-(准备)
Python3+Selenium3自动化测试-(准备)
最近在学习selenium自动化测试相关的内容,所以将实际准备情况做一记录,
# 系统:win10(64位)
# 浏览器:Chrome(67.0)、Firefox(61.0)、IE
# python版本:3.6.5
# Selenium:3.13.0
Selenium简介
Selenium是一款适用于Web应用程序的便携式软件测试框架。 Selenium为编写测试提供了一个回放工具,无需学习测试脚本语言。它还提供了一种测试领域特定的语言,用于编写包括C#,Groovy,Java,Perl,PHP,Python,Ruby和Scala等多种流行编程语言的测试。
Selenium官网地址:https://www.seleniumhq.org/
Python安装
python官网地址:https://www.python.org/
从python官网下载对应版本的python安装包,正常安装,需要注意的是需要将python加入环境变量中,可在安装的界面选择将Python加入环境变量中。
环境变量设置:
我的电脑>>属性>>高级系统设置>>环境变量中编辑用户变量和系统变量
Selenium的安装与测试
Selenium安装
使用python可直接利用pip进行安装selenium
启动cmd,注意:需要以管理员身份运行
pip install -U selenium
浏览器驱动driver安装
浏览器驱动driver的下载
driver的下载应该是比较坑的部分,一定需要注意浏览器版本。
从selenium官网进入下载界面,这个时候请往下拉,虽然第三方的浏览器都不是selenium官方开发的,但是你可以在selenium官网找到selenium支持的浏览器相对应的驱动driver下载链接,因为我在本地使用的浏览器版本都是比较新的,所以对应的driver版本也都下载最新版即可。
这里还是粘上三大浏览器的下载链接:
Google Chrome driver:https://sites.google.com/a/chromium.org/chromedriver/downloads
Mozilla GeckoDriver:https://github.com/mozilla/geckodriver/releases
Internet Explorer Driver:http://selenium-release.storage.googleapis.com/3.13/IEDriverServer_x64_3.13.0.zip
浏览器驱动driver的安装
下载下来的zip文件解压至python安装目录中,可以放置在:C:\Users\Administrator\AppData\Local\Programs\Python\Python36中,但是推荐放置在scripts目录中:C:\Users\Administrator\AppData\Local\Programs\Python\Python36\Scripts
完成以上工作,我们就可以进行测试使用selenium驱动浏览器了
测试驱动浏览器
CMD中启动python并从selenium引入webdriver包
from selenium import webdriver
驱动chrome浏览器
Ch_driver = webdriver.Chrome()
Ch_driver.get("https://www.google.com")
Ch_driver.quit() # 使用quit()关闭了chrome并结束了此次测试,如果是close()只是关闭chrome,后台仍在进行。
驱动Firefox浏览器
Fi_driver = webdriver.Firefox()
Fi_driver.get("https://www.google.com")
Fi_driver.quit()
驱动IE浏览器
Ie_driver = webdriver.Ie()
Ie_driver.get("https://www.google.com")
Ie_driver.quit()
看起来都正常驱动浏览器并打开了网页,这样我们就完成了selenium自动化测试的准备工作~
Python3+Selenium3自动化测试-(准备)的更多相关文章
- Python3+Selenium3自动化测试-(二)
python3 元素定位和操作方法总结 # coding=utf-8 ''' #8种元素定位方法 find_element_by_id() find_element_by_name() find_el ...
- Python3+Selenium3自动化测试-(八)
使用selenium进行测试,当然是需要进行验证的,此时结合python的断言函数就变得非常有用了.测试中设定好预期,当实际情况与预期有差别,给出错误信息,好像正是所希望的. 来一段简单的代码看下断言 ...
- Python3+Selenium3自动化测试-(五)
这里来说一说selenium中的等待方式,其实在webdriver只有两种类型等待方式,显式等待和隐式等待,之前是在程序运行过程中使用time模块中的sleep进行代码的休眠进行强制等待,是显式等待中 ...
- Python3+Selenium3自动化测试-(四)
selenium鼠标事件 # coding=utf-8 import time from selenium import webdriver from selenium.webdriver.commo ...
- Python3+Selenium3自动化测试-(三)
selenium键盘事件 #coding=utf-8 from selenium import webdriver import time from selenium.webdriver.common ...
- Python3+Selenium3自动化测试-(一)
完成环境的安装并测试之后,我们对Selenium有了一定的了解了,接下来我们继续驱动浏览器做一些基本操作: 窗口尺寸设置.网页截图.刷新.前进和后退 窗口尺寸设置 在测试过程中,我们可能会要求打开浏览 ...
- Python3+Selenium3自动化测试-(九)
selenium的学习拖拉了很久,内容也是较基础的部分,实际应用时查询文档也是OK的,当然,整理出来会更有利于我们在实际使用时去应用. 所以这一篇把官方的API文档进行解读整理,在看完这些API,将能 ...
- Python3+Selenium3自动化测试-(七)
在实际定位元素的过程中,发现有一种情况让人很是恼火,根据xpath路径定位,感觉像是没错哦,但是执行时就来一个报错信息--为什么呢? 多表单切换 例如我们登录网易邮箱时就会发现,定位登录框时,一个嵌套 ...
- Python3+Selenium3自动化测试-(六)
这里来说一说selenium中的等待方式,其实在webdriver只有两种类型等待方式,显式等待和隐式等待,之前是在程序运行过程中使用time模块中的sleep进行代码的休眠进行强制等待,是显式等待中 ...
随机推荐
- 10.pygame-碰撞检测
添加并监听英雄发射子弹事件 class Hero(GameSprite): def __init__(self): # 调用父类方法,设置image super().__init__('./image ...
- Spring源码知识
bean的生命周期: 实例化:在堆空间中申请内存,使用反射来实现:(createBeanInstance) 自定义属性赋值(setter).容器对象属性赋值(invokeAwareMethods) 前 ...
- Linux软件安装方式 - Tarball&RPM&YUM
软件安装 简介 概念详解 # 概念详解 - 开放源码: 程序码, 写给人类看的程序语言, 但机器并不认识, 所以无法执行; - 编译器: 将程序码转译成为机器看的懂得语言, 就类似翻译者的角色; - ...
- 【神经网络】softmax回归
前言 softmax回归为一种分类模型. 基本原理 由于softmax回归也是一种线性叠加算法,且需要输出离散值. 很自然地想到,可以取值最大的输出为置信输出.更进一步想到,如果有三个人A.B.C分别 ...
- Centos镜像下载
1.进入官网,并点击下图所示的红框(alternative downloads) 官网网址:https://www.centos.org/download/ 2.在往下翻,可以看到如下图的历史版本, ...
- 如何在.NET程序崩溃时自动创建Dump?
今天在浏览张队转载文章的留言时,遇到一个读者问了这样的问题,如下图所示: 首先能明确的一点是"程序崩溃退出了是不能用常规的方式dump的",因为整个进程树都已经退出.现场已经无法使 ...
- 详细了解JVM运行时内存
详细了解JVM运行时内存 1.程序计数器 概念 程序计数器也叫作PC寄存器,是一块很小的内存区域,可以看做是当前线程执行的字节码的行号指示器.字节码的解释工作就是通过改变程序计数器里面的值来获得下一条 ...
- OpenCV图像处理与视频分析详解
1.OpenCV4环境搭建 VS2017新建一个控制台项目 配置包含目录 配置库目录 配置链接器 配置环境变量 重新启动VS2017 2.第一个图像显示程序 main.cpp #include< ...
- P6492 STEP(线段树维护左右区间pushup)
题目链接 题目描述: 给定一个长度为\(~\)n\(~\)的字符序列\(~\)a,初始时序列中全部都是字符\(~\)L. 有\(~\)q\(~\)次修改,每次给定一个\(~\)x,做出如下变化: \( ...
- Electron是什么以及可以做什么
新用户购买<Electron + Vue 3 桌面应用开发>,加小册专属微信群,参与群抽奖,送<深入浅出Electron>.<Electron实战>作者签名版. 1 ...