selenium3+python3自动化环境搭建
(我也是小白,刚开始接触自动化,以下内容是我自己在配置环境的时候遇到的问题及解决方法,是后面才记录的要是有什么遗漏或者问题,欢迎帮忙指出来。)
1.1首先下载python
下载网址:https://www.python.org/downloads/这里我没有选择最新的版本而是选择了近两年的版本,由于python2现在几乎不用了,所以我选的是windows python3 64位操作系统版本进行安装。(这里直接找一个安装教程按照步骤进行安装即可)
注意:这里勾选add Python xx to PATH(不然系统找不到,就需要重新添加安装路径到path)
小知识:在官网下载比较慢是因为使用的国外的连接,此时可以使用国内镜像进行下载。
安装成功后可以在命令行输入:python即可查看python版本
1.2 安装集成开发环境(IDE):PyCharm
PyCharm可以方便的编写python代码,拥有一般IDE具备的功能,比如, 调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制等。
下载地址:(初学者可以使用社区版,更重要的是,该版本不会对学习 Python 产生任何影响)
https://www.jetbrains.com/pycharm/download/#section=windowsPyCharm这里在选择的时候,根据自己需要选择就好了。我自己是都选了
以上就解决了python编译问题,但由于我们是自动化测试,那么就需要使用编译语言来控制网站自动进行一些人工操作,此时就涉及到了浏览器驱动。
关于怎么配置可以随便百度搜一篇文档按照步骤即可
1.3 下载chrome浏览器驱动
首先要查看自己浏览器驱动版本(我用的Chrome,设置-关于里即可查看)
浏览器驱动选择,根据83.0.4103选择,如果没有就选比自己的更新的也可以
提示:有时候驱动只有32位,实际证明系统为64位也可以使用
下载浏览器驱动地址:
http://chromedriver.storage.googleapis.com/index.html
下载成功后,解压到python的安装目录,python的安装目录已配置到环境变量,所以不需要将驱动地址加到环境变量,否则需要添加
以上selenium3要素已经具备,现在就需要安装selenium。
介绍:selenium框架底层使用Java模拟真实用户对浏览器进行操作。测试脚本执行时,浏览器自动按照脚本代码做出点击,输入,打开,验证等操作,就像真实用户所做的一样,从终端用户的角度测试应用程序,且支持java、python语言。
此时,我们随便百度一篇文档,会提示让你使用pip进行安装,但是由于你的pip可能不是最新版本,然后下载时就会让你更新pip,查询的更新方法大多还是出现报错无法更新,坚持不懈后找到一篇文档,使用:python -m pip install --upgrade pip -i https://pypi.douban.com/simple 更新成功。
1.4 selenium安装
pip更新问题解决之后,接下来就是使用pip安装selenium,我们使用pip install selenium==版本号 安装会发现没过一会就报了timeout的错,接着就是去找很多文档去解决这个这个问题,发现很多方法都不行,但是天无绝人之路,还是让我找到了,然后就用pip --default-timeout=100 install -U selenium==版本号,成功解决了安装问题
1.5初步编写百度自动化测试脚本
正以为该配置的都配置完了,可以好好写脚本进行试验了,然后写了下面代码进行运行
#引入时间模块
import time
#引入selenium下面webdriver模块
from selenium import webdriver
#将webdriver下的Chrome类赋值给变量driver
driver = webdriver.Chrome()
#使用Chrome类的get方法打开百度网址
driver.get("http://www.baidu.com")
#控制浏览器窗口大小
driver.set_window_size(1920,1080)
#使用ID定位方法实现输入和点击操作
driver.find_element_by_id("kw").send_keys("Selenium")
driver.find_element_by_id("su").click()
#等待10秒
time.sleep(5)
#关闭浏览器
driver.quit()
运行结果却提示我
AttributeError: module 'selenium.webdriver' has no attribute ‘Chrome’
随即就检查并使用了各种方法,发现都不行还是依旧报这个错误。
最后无奈只能决定在pyharm中手动添加selenium
路径:file ->settings,此时就可以看到已经存在的包,点击右边添加,搜索selenium并安装,会提示pip不是最新的,所以就要先更新pip
需要注意的是更新pip必须先把原版本删除,这里使用pip uninstall pip指令即可。删除之后再去添加最新的
在setting的配置中找到pip包,系统会推荐最新版本的pip包,安装的时候记得勾选上
版本号,点击installing package按钮即可安装pip包。
selenium同上:
此时再运行上面代码,第一个自动化试验就完成了。
selenium3+python3自动化环境搭建的更多相关文章
- selenium3+python3+Firefox54环境搭建
之前使用的环境:selenium2.53.6+Firefox44+Python2.7,没有问题,最近想尝试一下新的环境,就搭了个selenium3的环境,过程是挺坎坷的,花费了一天的时间,各种报错,最 ...
- Java自动化环境搭建笔记(2)
Java自动化环境搭建笔记(2) 自动化测试 在笔记一中已经完成了一键构建项目.xml指定规划测试集.数据解耦与allure报告生成的开发.接下来便是: 浏览器驱动通过配置启动 页面元素定位解耦,通过 ...
- 团队自动化环境搭建与管理--php博弈
我是方少,很开心与大家日后与大家交流技术上面的一些想法和一些业务上的分享.以前从来没写过博客,因为觉得不重要吧,如今觉得有必要沉淀一些想法和回忆.好了费话不多说. 先上图: 业务问题:在每次新伙伴加入 ...
- iOS自动化环境搭建——macaca
macaca-java for ios 自动化环境搭建 基础原理解析:https://testerhome.com/topics/6608 一.环境搭建 1.安装eclipse; -----Java开 ...
- MAC自动化环境搭建
UI自动化环境搭建 第一阶段:配置appium环境硬件配置mac系统电脑 java环境sunjiedeMacBook-Air:~ vicent$ java -versionjava version & ...
- Java自动化环境搭建笔记(3)
Java自动化环境搭建笔记(3) 自动化测试 自动化的环境已经基本搭建完成,后续可对BaseTester基类以及工具类进行扩展.下面便是持续集成的环境的搭建: Jenkins安装 git安装 源码上传 ...
- Java自动化环境搭建笔记(1)
Java自动化环境搭建笔记(1) 自动化测试 先搭建java接口测试的环境: 使用mvn命令构建项目 测试集通过testNG.xml组织并运行 测试数据解耦,通过Excel等文件提供 基础依赖 创建m ...
- 基于python的App UI自动化环境搭建
Android端Ui 自动化环境搭建 一,安装JDK.SDK 二,添加环境变量 Widows:1.系统变量→新建 JAVA_HOME 变量E:\Java\jdk1.7.0 jdk安装目录 2.系统变量 ...
- appium ios真机自动化环境搭建&运行(送源码)
appium ios真机自动化环境搭建&运行(送源码) 原创: f i n 测试开发社区 6天前 Appium测试环境的搭建相对比较烦琐,不少初学者在此走过不少弯路 首先是熟悉Mac的使用 ...
随机推荐
- spring集成shiro,事务失效问题 not eligible for auto-proxying
BeanPostProcessor bean实例化顺序有关,@Configuration会最先实例化,也就是在spring启动完成之前. 导致Configuration中使用的注入,没能在spring ...
- ACwing 你能回答这些问题吗(线段树求最大连续字段和)
给定长度为N的数列A,以及M条指令,每条指令可能是以下两种之一: 1.“1 x y”,查询区间 [x,y] 中的最大连续子段和,即 maxx≤l≤r≤ymaxx≤l≤r≤y{∑ri=lA[i]∑i=l ...
- Spring JPA 定义查询方法
Spring JPA 定义查询方法 翻译:Defining Query Methods 存储库代理有两种方式基于方法名派生特定域的查询方式: 直接从方法名派生查询 自定义查询方式 可用选项基于 ...
- 小程序里的request
test.js 代码如下: makeRequest: function (e) { var self = this wx.request({ url: 'http://lt.com/home/inde ...
- shell知识点:${} 的神奇用法
为了完整起见,我这里再用一些例子加以说明 ${ } 的一些特异功能:假设我们定义了一个变量为:file=/dir1/dir2/dir3/my.file.txt我们可以用 ${ } 分别替换获得不同的值 ...
- C009:产品格式化输出
代码: #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { int itemNum; float unitPric ...
- ASP.NET Core整合Zipkin链路跟踪
前言 在日常使用ASP.NET Core的开发或学习中,如果有需要使用链路跟踪系统,大多数情况下会优先选择SkyAPM.我们之前也说过SkyAPM设计确实比较优秀,巧妙的利用Diagnosti ...
- 学习STM32的一些记录_创建库函数版本的工程
1.新建一个文件夹,用于存放MDK的工程所有文件.例如新建文件夹Template. 2.在Template下新建一个USER文件夹,用于存放工程. 3.打开MDK5,新建工程,目录在USER下. 4. ...
- 第2课 - 搭建Lua开发环境
第2课 - 搭建Lua开发环境 1. Lua 的优点 (1)Lua 使用标准的 ANSI C 进行开发,可以无缝集成到宿主程序,且几乎支持所有平台. (2)Lua 是开源且免费的软件,以源码的方式直接 ...
- DVWA sql注入low级别
DVWA sql注入low级别 sql注入分类 数字型注入 SELECT first_name, last_name FROM users WHERE user_id = $id 字符型注入 SELE ...