在web自动化中目前selenium作为底层的自动化测试是目前运用最广的,但是各个公司都会在这个基础之上进行修改。从今天开始我们就慢慢从low代码一步一步的学习框架知识。

  首先当我们测试环境有了之后我们需要做得就是去配置我们的driver,这里的driver你可以理解为就是我们脚本和浏览器之间的桥梁。在selenium里面一些简短的教程会这样写:

#coding=utf-8
from selenium import webdriver
driver = webdriver.Chrome()

 有的人这样写了之后会发现无法运行,直接给出了下面的提示错误:

Traceback (most recent call last):
File "e:xxxxx/blog.py", line 3, in <module>
driver = webdriver.Chrome()
File "D:\python\lib\site-packages\selenium-3.11.0-py3.6.egg\selenium\webdriver\chrome\webdriver.py", line 68, in __init__
self.service.start()
File "D:\python\lib\site-packages\selenium-3.11.0-py3.6.egg\selenium\webdriver\common\service.py", line 83, in start
os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home

  这是一个很常见的错误,根据提示“'chromedriver' executable needs to be in PATH 我们只需要把chromedriver.exe这个文件的路径添加到环境变量中就可以了,那什么是chromedriver.exe,完全不知道。selenium自动化不是只需要selenium就可以了么?为什么要这个chromedriver?其实在selenium2中默认的是使用firefox的浏览器驱动,selenium2也会自带他的驱动,但是在selenium3之后就不会自带了,那么就需要自己去官网下载,我们这里使用的是谷歌浏览器,那么就需要chromedriver的驱动。好吧去下载。

chromedriver淘宝的下载地址:https://npm.taobao.org/mirrors/chromedriver/ 这里可以自己选择不同的版本。

但是当大家下载了运行又会发现一个问题有时候无法运行,特别是java版本,为什么呢?因为你chromedriver的版本和浏览器版本不对应。这个可以查看每个chromedriver版本更新的日志,及兼容版本。

在上图中我们可以清楚的知道那些版本对应哪个版本浏览器。这个时候我们就轻松解决浏览器启动问题了。

如果我们需要启动不同的浏览器那么只需要使用webdriver调用不同的浏览器方法就可,但是还是需要去下载各自的驱动,启动方法:

#coding=utf-8
from selenium import webdriver
driver = webdriver.Chrome()
driver2 = webdriver.Firefox()
driver1 = webdriver.Edge()

这样我们就启动了不同的浏览器。

这个时候只需要我们去写需要打开的网址就可以:

#coding=utf-8
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.5itest.cn/register")

Selenium3 Python3 Web自动化测试从基础到项目实战之一启动不同的浏览器及配置的更多相关文章

  1. Selenium3 Python3 Web自动化测试从基础到项目实战之二浏览器的不同设置

    在前面一个章节我们知道了如何通过webdriver去初始化我们得driver,然后我们只需要通过driver就能够去做我们得自动化,首先我们知道我们需要知道得是当我们有driver之后,我们剩下得就是 ...

  2. selenium3 web自动化测试框架 三:项目实战中PO模型的设计与封装

    po模型设计思想 Page Object 模式主要是将每个页面设计为一个class,其中包含页面中的需要测试的元素(按钮,输入框,标题等),这样在Selenium测试页面中可以通过调取页面类来获取页面 ...

  3. 18年selenium3+python3+unittest自动化测试教程(下)

    第六章 自动化测试进阶实战篇幅 1.自动化测试实战进阶之网页单选性别资料实战 简介:讲解使用selenium修改input输入框和单选框 2.自动化测试之页面常见弹窗处理 简介:讲解使用seleniu ...

  4. 妙味WEB前端开发全套视频教程+项目实战+移动端开发(99G)

    一共99GB的视频教程,全部存于百度网盘中,13个栏目,每个栏目里还划分有独立的小栏目 最基本的web前端学习介绍,到项目实战,再到移动端的开发,真正彻底掌握前端开发的精髓: 视频教程在线预览:(百度 ...

  5. 18年selenium3+python3+unittest自动化测试教程(上)

    第一章 自动化测试课程介绍和课程大纲 1.自动化测试课程介绍 简介:讲解什么是自动化测试和课程大纲讲解,课程需要的基础和学后的水平 python3.7+selenium3 pycharm 第二章自动化 ...

  6. web 自动化测试 selenium基础到应用(目录)

    第一章   自动化测试前提及整体介绍 1-1功能测试和自动化测试的区别 1-2自动化测试流程有哪些 1-3自动化测试用例和手工用例的区别 1-4 自动化测试用例编写 1-5 selenium的优势以及 ...

  7. [Selenium3+python3.6]自动化测试3-八种元素元素定位(Firebug和firepath)

    参考http://www.cnblogs.com/yoyoketang/p/6123890.html   #coding=utf-8 from selenium import webdriverdri ...

  8. 零基础学习Python web开发、Python爬虫、Python数据分析,从基础到项目实战!

    随着大数据和人工智能的发展,目前Python语言的上升趋势比较明显,而且由于Python语言简单易学,所以不少初学者往往也会选择Python作为入门语言. Python语言目前是IT行业内应用最为广泛 ...

  9. 关于Selenium3+python3.6自动化测试中iframe切换

    本篇内容主要表述以下几个问题: 1.iframe 这个是什么? 2.定位iframe 标签时遇到的几个报错总结. 3.显示等待与隐示等待的原理与优缺点. 4.无name,ID可变情况下的处理方式 5. ...

随机推荐

  1. div两侧的boder断开 消失 奇怪

    原文发布时间为:2009-11-06 -- 来源于本人的百度文章 [由搬家工具导入] 解决方法: 设定外层DIV的宽度即可,如 width:99% ========================== ...

  2. time stamp in javascript

    JavaScript 获取当前时间戳: 第一种方法: var timestamp = Date.parse(new Date()); 结果:1280977330000 第二种方法: var times ...

  3. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---47

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  4. Android下设置CPU核心数和频率

    现在的Android手机双核.四核变得非常普遍,同时CPU频率经常轻松上2G,功耗肯定会显著增加.而大多数的ARM架构的CPU采用的是对称多处理(SMP)的方式处理多CPU.这就意味着每个CPU核心是 ...

  5. jenkins 中 violation使用pylint

    在jenkins中无法打开源码问题: 1. 在 Report Violations的 Source encoding 设置为 项目文件的编码, 如: utf-8.  缺省是 default. 2. 在 ...

  6. springmvc4.2.X fastjson 替换引用配置

    <mvc:annotation-driven> <mvc:message-converters register-defaults="true"> < ...

  7. Android Studio插件Gsonformat的安装和使用

    在开发中,我们获得服务端的json数据后要建立自己的bean,但是一条一条写相当麻烦,使用了GsonFormat插件,用起来非常方便. 安装 方法1: 1.Android studio File-&g ...

  8. 使用UICollectionView遇到的各种坑

    1)头视图和尾部视图的添加 UICollectionReusableView *headerView = [collectionView dequeueReusableSupplementaryVie ...

  9. 牛客网 牛客小白月赛2 E.是是非非-尼姆博奕

    E.是是非非 链接:https://www.nowcoder.com/acm/contest/86/E 这个题就是尼姆博奕(我的队友小可爱很擅长这个) 代码: 1 //E 2 #include< ...

  10. Algorithm | Sort

    Bubble sort Bubble sort, sometimes incorrectly referred to as sinking sort, is a simple sorting algo ...