python webdriver 环境搭建详解
学了一个月用java编写selenium driver 测试脚本,也将公司做的系统基本可用的模块做了一次自动化,虽然写的比较简陋,但是基本可用跑一遍,并用testNG生成了测试报告。
学习方式无非是:书+百度+群主的指导,自学还是有点难度,试错百度无数次,但是至少有一丢丢进步,也有点底气去面对接受更难的挑战。
但是对于框架的了解和使用,以及更深层次的自动化还是缺乏实践和认知,果然还是需要在一个真正的测试团队中去磨练成长。
早就听说python编写脚本比java清晰又简洁,今天就试一试啦~虽然表示并不知道python是个什么鬼。。。。
一、python介绍
python是一种通过缩进来进行功能逻辑块的编排,加上python本身的精悍,从而使得python程序非常简约明了。
python作为一种脚本语言,对于测试脚本的编写相对与java更加简单易于学习,并且具有以下优点:
- 学习难度小,开发周期短。对目前国内大多数测试人员来说,编码经验不足,python是个很好的入门语言。
- 胶水语言,能与C++, Java, COM, and .NET,Object-C 整合。 测试部门要做单元测试,接口测试,因为人员比例的关系,不可能让测试人员同时掌握多门语言,python可以对C/C++, Java, Object-C进行接口封装后,实现单元测试。
- 语法简约,清晰。减少后期维护的难度。
- 跨平台
- 大量可用的库(但python的库有个缺点是,不像perl一样,有个CPAN类库集中地,大部分集中在SourceForge,其实有google这些都不是问题)
- 成熟的框架。web: django,zope。高性能网络框架:twisted,gevent
- 丰富python测试工具。此系列文章主要关注于python在测试中的应用。这里有很全面的测试工具介绍(http://wiki.python.org/moin/PythonTestingToolsTaxonomy),从web测试,到性能测试,单元测试,持续集成等
二、搭建python环境(有一丢丢复杂,不过按下面的来肯定没问题,亲自实践)
1. python
先下载安装 python-2.7.5.msi ,CSDN有免积分版本,按步骤安装即可 (python开发环境)
2. setuptools
下载 setuptools-18.5 压缩包,下载地址:http://pypi.python.org/pypi/setuptools。
(基础包工具,下载,构建,安装,升级,卸载)
配置 python-2.7.5.msi 安装路径到path中
解压后到解压文件夹下,shift +右键,运行cmd :python setup.py install 即可安装成功
常见错误提示:
安装的过程中可能会出现“ImportError: No module named setuptools”的错误提示,这是新手很常遇见的错误提示。不用担心,这
是因为Windows环境下Python默认是没有安装setuptools这个模块的,这也是一个第三方模块。下载地址为
http://pypi.python.org/pypi/setuptools。
3. pip
下载pip-7.1.2压缩包,python软件包的安装工具,管理python类库,下载路径:http://pypi.python.org/pypi/pip
解压到文件夹下,输入cmd:python setup.py install
到python安装包下的Scripts下运行:easy_install pip
至此pip安装完毕
4.安装selenium
到python安装包下的Scripts下运行:pip install -U selenium
selenium安装完毕后截图如下:

三、IDLE编写python
在开始-程序中找到IDLE(Python GUI)快捷方式,打开,输入:print ”hello world!" 回车,可显示如下:

现在编写自动化测试脚本,一个小的完整用例:
打开file》new windows 或 Ctrl+N,输入代码如下:
# coding =utf-8 //防止乱码
from selenium import webdriver //导入selenium的webdriver包 browser=webdriver.Firefox() //创建浏览器对象,默认FF已在webdriver中,其他的no
browser.get("http://www.baidu.com") browser.find_element_by_id("kw").sendkeys("selenium")
browser.find_element_by_id("su").click()
保存成.py文件(记得加py扩展名,默认是不会自动加添的),按F5运行,FF即可打开并跳到百度,输入内容搜索,大功告成!
PS:
如何debug?
1.设置断点:在Python编辑器中要调试的代码行右击->Set Breakpoint,之后该行底色就变黄了
2.打开debugger:Python Shell->Debug->Debugger
3.编辑窗口按F5
4.debug过程略
- Go表示运行完相当于eclipse的F8,不过按F5后先要Go一下才能往下走,默认是不运行的
- Step表示一步一步相当于eclipse的F5
- Over表示跳过函数方法相当于eclipse的F6
- Out表示跳出本函数相当于eclipse的F7
快捷键有哪些?
自动补全代码 Alt+/(查找编辑器内已经写过的代码来补全)
补全提示 Ctrl+Shift+space(默认与输入法冲突,修改之) (方法:Options->configure IDLE…->Keys-> force-open-completions 提示的时候只要按空格就出来对于的,否则翻上下键不需要按其他键自动就补全了)
后退 Ctrl+Z
重做 Ctrl+Shift+Z 加缩进 Ctrl+] 减缩进 Ctrl+[ 加注释 Alt+3 去注释 Alt+4
python webdriver 环境搭建详解的更多相关文章
- Python环境搭建详解(Window平台)
前言 Python,是一种面向对象的解释型计算机程序设计语言,是纯粹的自由软件,Python语法简洁清晰,特色是强制用空白符作为语句缩进,具有丰富和强大的库,它常被称为胶水语言. Python是一种解 ...
- Windows GTK+ 环境搭建(详解)
来源:http://blog.sina.com.cn/s/blog_a6fb6cc901017ygy.html Windows GTK+ 环境搭建 最近要做界面的一些东西,但是对微软提供的类库MFC不 ...
- 转:python webdriver 环境搭建
第一节 环境搭建准备工具如下:-------------------------------------------------------------下载 python[python 开发环境]ht ...
- Windows环境下,python webdriver环境搭建
最近刚开始学习selenium,这是我从虫师的<selenium2自动测试实战--基于Python语言>这本书上学到搭建环境的步骤,里面有加上我的一些总结,希望对大家有所帮助! 准备工 ...
- windows 64位下,React-Native环境搭建详解 (Android)
React-Native环境搭建需要: 1.安装Java JDK 2.安装Android Studio 3.安装node.js 4.安装git 5.安装Python 2.x (注意目前不支持Pytho ...
- nginx+php环境搭建详解(Linux)
今天在内网环境下,给linux主机安装nginx+php环境,由于是内网环境,只能手动解压缩包进行安装,在这过程中我也着实遇到了一些问题(困扰了我许久),还好最后搭建环境成功了,所以写篇博客记录一下, ...
- Windows下的SVN环境搭建详解
前言:最近因为要和其他人合作开发项目,所以花时间搭建了SVN的环境. 因为是初次使用SVN,对于SVN的环境搭建很不熟悉,再加上网上的教程都介绍的比较粗略,导致前前后后重做了几次. 当然最终是搭建成功 ...
- Vue.js 运行环境搭建详解(基于windows的手把手安装教学)及vue、node基础知识普及
Vue.js 是一套构建用户界面的渐进式框架.他自身不是一个全能框架——只聚焦于视图层.因此它非常容易学习,非常容易与其它库或已有项目整合.在与相关工具和支持库一起使用时,Vue.js 也能完美地驱动 ...
- AngularJS4.0环境搭建详解--windows系统环境
第一步:安装NodeJS 下载最新版的NodeJS并安装,安装完成后打开CMD命令行,输入以下命令: node -v 若返回类似版本号则代表NodeJS安装成功,如下: 第二部 安装npm 新版的No ...
随机推荐
- 一个基于ES6+webpack的vue小demo
上一篇文章<一个基于ES5的vue小demo>我们讲了如何用ES5,vue-router做一个小demo,接下来我们来把它变成基于ES6+webpack的demo. 一.环境搭建及代码转换 ...
- /etc/fstab最后3个字段详解
/etc/fstab文件的作用就是让挂载的信息在开启的时候生效: 磁盘分区 挂载目录 文件格式 访问方式 fs_dump fs_pass /dev/sdb1 /mnt ext4 defaults ...
- mysql @value := 用法
背景 有这么一张表,记录名字和分数,现在需要按照成绩排名,存在并列名次的情况 解决方法 思路:按照score从大到小排序,第一行数据就是第一名,第二行就是第二名......需要判断当前行的score和 ...
- CSS float 属性
Float定义: float 属性定义元素在哪个方向浮动.以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动. 浮动元素会生成一个块级框,而不论它本身是何种元素.如 ...
- 博文Contents<451--到999—>
积分=排名>2017-05-15这一天还真是厉害了.让我等了5个月时间... 前言:博客中的随笔文章.并非都是笔者的原创文章.有些是听别人说的.有些是书上摘录的.有些是百度的.有些是别人博客的文 ...
- 7.21.04 for循环
for循环的三个语句可以放置任何表达式,但是有个不成文的规则,for循环的3个部分应当对同一个计数器变量进行初始化,检测和更新.若不遵循这一规则,编写的循环常常晦涩难懂! 如果在循环第一部分声明了一个 ...
- 震惊!WIN2003存在后门大全,提权成功率高
从某种意义上说,服务器被攻击是不可避免的,甚至被控制也情有可原.但绝对不能容忍的是,服务器被植入后门,攻击者如入无人之境,而管理者去浑然不觉.本文将对当前比较流行的后门技术进行解析,知己知彼方能杜绝 ...
- Kubernetes e2e test and test framework
前言 Kubernetes的成功少不了大量工程师的共同参与,而他们之间如何高效的协作,非常值得我们探究.最近研究和使用了他们的e2e测试和框架,还是挺有启发的. 怎样才是好的e2e测试? 不同的人写出 ...
- JS中的循环结构
[循环结构的执行步骤]1.声明循环变量:2.判断循环条件3.执行循环体操作4.更新循环变量然后循环执行2-4,直到条件不成立时,跳出循环.while循环()中的表达式,运算结果可以是各种类型,但是最终 ...
- log4j日志框架学习
初识Log4j: log4j有三个部分: 1.loggers 负责捕获日志信息. 2.appenders 负责输出信息到不同的目的地 ...