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的使用 ...
随机推荐
- UNITY3D UGUI学习--canvas
首先从canvas的参数说起走. Canvas Component是UI布局和渲染的抽象空间,所有的UI元素都必须在此组件之下. Render Mode UI的渲染方式,有三种: Screen Spa ...
- 面试【JAVA基础】JVM
1.内存模型 1.1.堆 堆是所有线程共享的,主要存放对象实例和数组. 新生代和老年代的比例是1:2. 新生代中三个区域的比例是 8 : 1 : 1. 1.1.1.新生代 对象分配在eden区中,当e ...
- observeParents的使用
observeParents参数 是布尔类型 默认false 在tab切换选项中有轮播图,切换后轮播图就不播了,并且显示也出现了问题,就可以使用observeParents 用法为 <scri ...
- 10_Python的函数function
1.函数的概述 1.函数是可以重复执行的语句块且可以重复调用,函数封装了可重复执行的语句提高了语句的可重复性 2.函数的参数和返回值的作用流程图: https://www.processon. ...
- 【小白学PyTorch】8 实战之MNIST小试牛刀
文章来自微信公众号[机器学习炼丹术].有什么问题都可以咨询作者WX:cyx645016617.想交个朋友占一个好友位也是可以的~好友位快满了不过. 参考目录: 目录 1 探索性数据分析 1.1 数据集 ...
- i春秋公益赛之signin
题目链接:https://buuoj.cn/challenges#gyctf_2020_signin 查看程序保护 只开了canary和NX保护,在IDA查看反编译出来的为代码时发现程序给了一个后门 ...
- SpringMVC执行流程源码分析
SpringMVC执行流程源码分析 我们先来看张图片,帮助我们理解整个流程 然后我们开始来解析 首先SpringMVC基于Servlet来运行 那么我们首先来看HttpServletBean这个类 他 ...
- 如何使用dockerfile将jar包生成镜像
1.编写dockersfile FROM java:8 ADD SPRINGCLOUD.jar app.jar RUN bash -c ‘touch /app.jar’ ENTRYPOINT [&qu ...
- 总结SUMMARY
Summary 多线程 多线程 pthread NSThread 创建线程的方式 NSThread 的 Target 线程状态 线程属性 资源共享 原子属性 线程间通讯 GCD 同步 & 异步 ...
- HashTable学习
HashTable虽然加上了线程安全,但是源码走向和思想比hashMap还是要简单直白很多,hashmap还得再看,因为很多关键点没有get,下午&明天自己去debug一遍再继续看看博客 脑子 ...