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的使用 ...
随机推荐
- hdu 4010 Lct动态链接树
#pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstdio> #include & ...
- 19_Python算法
1.冒泡算法 list = [1, 5, 2, 6, 9, 3, 4, 0] print(len(list)) # conunt = 1 while conunt < len(list): fo ...
- 20190930-01 Redis的事务 000 031
- nginx模型概念和配置文件结构
一. nginx模型概念: Nginx会按需同时运行多个进程: 一个主进程(master)和几个工作进程(worker),配置了缓存时还会有缓存加载器进程(cache loader)和缓存管理器进程( ...
- 教会舍友玩 Git (再也不用担心他的学习)
舍友长大想当程序员,我和他爷爷奶奶都可高兴了,写他最喜欢的喜之郎牌Git文章,学完以后,再也不用担心舍友的学习了(狗头)哪里不会写哪里 ~~~ 一 先来聊一聊 太多东西属于,总在用,但是一直都没整理的 ...
- cannary
canary是Linux为防止栈溢出的一种保护机制,接着我们分析glibc对canary的实现过程,首先给出跟canary相关的调用栈: security_init() //在elf/rtld.c中 ...
- vue-axios拦截器
"use strict"; import QS from "qs"; import Axios from "axios"; import s ...
- spring boot+spring security集成以及Druid数据库连接池的问题
贴工程目录,其中bll目录下是service+dao层,common是一些公用的模块及功能类,web是controller层 用到了druid及Redis,工具及配置类目录(本文不介绍如何配置drui ...
- Linux系统安装01-centos7系统安装
2020注定是一个不平凡的年份,对于各行各业都是不小的波动.话说回来,从当前的互联网趋势来看,linux的使用以后会越来越广泛,既然之前不懂linux,那么我们就从头开始,先学习Linux的系统安装. ...
- Java并发编程之闭锁与栅栏
一.前言 闭锁与栅栏是在多线程编程中的概念,因为在多线程中,我们不能控制线程的执行状态,所以给线程加锁,让其按照我们的想法有秩序的执行. 闭锁 CountDownLatch,实例化时需要传入一个int ...