(我也是小白,刚开始接触自动化,以下内容是我自己在配置环境的时候遇到的问题及解决方法,是后面才记录的要是有什么遗漏或者问题,欢迎帮忙指出来。)

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自动化环境搭建的更多相关文章

  1. selenium3+python3+Firefox54环境搭建

    之前使用的环境:selenium2.53.6+Firefox44+Python2.7,没有问题,最近想尝试一下新的环境,就搭了个selenium3的环境,过程是挺坎坷的,花费了一天的时间,各种报错,最 ...

  2. Java自动化环境搭建笔记(2)

    Java自动化环境搭建笔记(2) 自动化测试 在笔记一中已经完成了一键构建项目.xml指定规划测试集.数据解耦与allure报告生成的开发.接下来便是: 浏览器驱动通过配置启动 页面元素定位解耦,通过 ...

  3. 团队自动化环境搭建与管理--php博弈

    我是方少,很开心与大家日后与大家交流技术上面的一些想法和一些业务上的分享.以前从来没写过博客,因为觉得不重要吧,如今觉得有必要沉淀一些想法和回忆.好了费话不多说. 先上图: 业务问题:在每次新伙伴加入 ...

  4. iOS自动化环境搭建——macaca

    macaca-java for ios 自动化环境搭建 基础原理解析:https://testerhome.com/topics/6608 一.环境搭建 1.安装eclipse; -----Java开 ...

  5. MAC自动化环境搭建

    UI自动化环境搭建 第一阶段:配置appium环境硬件配置mac系统电脑 java环境sunjiedeMacBook-Air:~ vicent$ java -versionjava version & ...

  6. Java自动化环境搭建笔记(3)

    Java自动化环境搭建笔记(3) 自动化测试 自动化的环境已经基本搭建完成,后续可对BaseTester基类以及工具类进行扩展.下面便是持续集成的环境的搭建: Jenkins安装 git安装 源码上传 ...

  7. Java自动化环境搭建笔记(1)

    Java自动化环境搭建笔记(1) 自动化测试 先搭建java接口测试的环境: 使用mvn命令构建项目 测试集通过testNG.xml组织并运行 测试数据解耦,通过Excel等文件提供 基础依赖 创建m ...

  8. 基于python的App UI自动化环境搭建

    Android端Ui 自动化环境搭建 一,安装JDK.SDK 二,添加环境变量 Widows:1.系统变量→新建 JAVA_HOME 变量E:\Java\jdk1.7.0 jdk安装目录 2.系统变量 ...

  9. appium ios真机自动化环境搭建&运行(送源码)

    appium ios真机自动化环境搭建&运行(送源码) 原创: f i n  测试开发社区  6天前 Appium测试环境的搭建相对比较烦琐,不少初学者在此走过不少弯路 首先是熟悉Mac的使用 ...

随机推荐

  1. Toast 响应点击事件

    import java.lang.reflect.Field; import android.content.Context; import android.util.Log; import andr ...

  2. ffmpeg 编译Android

    环境 macOS 10.15.4    NDK 21.3.6528147   ffmpeg 4.2.3 1.执行sudo xcodebuild -license,防止编译的时候找不到一些文件报错 2. ...

  3. java初探(1)之秒杀项目总结

    在开始总结之前,先记录一个刚看到的博客,编程规约.该博客记录了一些java开发上的规范,可以在编码的时候引入这些规范. 无论流行框架一直怎么改变,web开发中的三层架构一直属于理论的基础存在. 表现层 ...

  4. 2020重新出发,NOSQL,MongoDB是什么?

    什么是MongoDB ? MongoDB 是一个开源的文档数据库,它基于 C++ 语言编写,性能高,可用性强,能够自动扩展. MongoDB 是最流行的 NoSQL 数据库之一,原生支持分布式集群架构 ...

  5. Redis适配采坑记

    Redis适配采坑记 相对于其他的适配,Redis可以说是非常简单的其中只发现一个坑 问题一: 问题描述: redis认证失败 问题详解: redis连接配置时,本地需要采用password属性,远程 ...

  6. C++11中一个使用for+auto时容易发生的bug

    C++11中一个使用for+auto时容易发生的bug 一个小坑,那就是忘记在for循环中使用auto时加引用. 例如: for(auto num : nums){ // do some thing ...

  7. [LeetCode]739. 每日温度(单调栈)

    题目 根据每日 气温 列表,请重新生成一个列表,对应位置的输入是你需要再等待多久温度才会升高超过该日的天数.如果之后都不会升高,请在该位置用 0 来代替. 例如,给定一个列表 temperatures ...

  8. 学习 | canvas实现图片懒加载 && 下滑底部加载

    用canvas实现图片的懒加载并且下滑到据底部60px的时候再次加载数据,模仿UC浏览器的新闻加载. 完整代码:https://github.com/dirkhe1051931999/writeBlo ...

  9. JVM七大垃圾回收器下篇G1(Garbage First)

    G1回收器:区域化分代式 既然我们已经有了前面几个强大的GC,为什么还要发布Garbage First (G1)GC?  原因就在于应用程序所应对的业务越来越庞大.复杂,用户越来越多,没有GC就不能保 ...

  10. yum管理——linux字符界面安装图形化及两种界面的切换(3)

    1.查看yum软件包组 yum groups list 2.选择安装带 GUI 的服务器 yum groups install "带 GUI 的服务器" 3.字符界面切换为图形化界 ...