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 ...
随机推荐
- js 科学计数法 转换为 数字字符 突破幂数正数21位,负数7位的自动转换限制
前天工作中要转换后台返回的一个数据,返回是的科学计算的数字字符,用网上能搜索到的常用两种方法转换会有倍数的限制,然后又搜索了很久,还是没有找到好的方法,虽然也有一些自己写的方法,可还是不能像下面两种方 ...
- java子类和父类中静态块、非静态块、构造函数的执行顺序
public class qqqq extends Parent{ public static void main(String[] args) { new Child(); } } class Pa ...
- 关于Alipay支付宝接口(Java版)
支付宝开发文档:https://b.alipay.com/order/techService.htm 1.alipay 双功能支付简介 2.alipay 提交支付订单 3.alipay 整合双功能支付 ...
- 20个开发人员非常有用的Java功能代码
本文将为大家介绍20个对开发人员非常有用的Java功能代码.这20段代码,可以成为大家在今后的开发过程中,Java编程手册的重要部分. 1. 把Strings转换成int和把int转换成String ...
- 2017多校第10场 HDU 6181 Two Paths 次短路
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6181 题意:给一个图,求出次短路. 解法:我之前的模板不能解决这种图,就是最短路和次短路相等的情况,证 ...
- 【Centos7】安装memcached
1.Linux系统安装memcached,首先要先安装libevent库. 安装libevent库有两种方式 (1)rpm安装 yum install libevent libdeve (2)源码包安 ...
- Linux主分区,扩展分区,逻辑分区的联系和区别
主分区,也称为主磁盘分区,和扩展分区.逻辑分区一样,是一种分区类型.主分区中不能再划分其他类型的分区,因此每个主分区都相当于一个逻辑磁盘(在这一点上主分区和逻辑分区很相似,但主分区是直接在硬盘上划分的 ...
- Sublime Text前端开发工具介绍
Sublime Text前端开发工具介绍.. Sublime Text这款前端开发工具中的非常优秀的特性进行介绍 ------------ sublime text 3 3114 注册码 —– BEG ...
- Ecshop商品描述上传中文名图片无法显示解决方法
在后台上传商品图片的时候,如果你选择一个中文名称的图片,那么上传后会产生乱码,导致图片显示不出来. 下面说一种解决办法:使用"年月日时分秒 + 6个随机字符"做为文件名,如 201 ...
- 优雅的H5下拉刷新【minirefresh】
序 严格的来说,这是我第一个完全投入的开源项目,它的出现是为了统一移动H5中的下拉刷新,想通过一套框架,多主题拓展方式,适应于任意需求下的任意下拉刷新场景. 另外,这个项目作为独立项目存在,希望能有更 ...