学了一个月用java编写selenium driver 测试脚本,也将公司做的系统基本可用的模块做了一次自动化,虽然写的比较简陋,但是基本可用跑一遍,并用testNG生成了测试报告。

学习方式无非是:书+百度+群主的指导,自学还是有点难度,试错百度无数次,但是至少有一丢丢进步,也有点底气去面对接受更难的挑战。

但是对于框架的了解和使用,以及更深层次的自动化还是缺乏实践和认知,果然还是需要在一个真正的测试团队中去磨练成长。

早就听说python编写脚本比java清晰又简洁,今天就试一试啦~虽然表示并不知道python是个什么鬼。。。。

一、python介绍

python是一种通过缩进来进行功能逻辑块的编排,加上python本身的精悍,从而使得python程序非常简约明了。

python作为一种脚本语言,对于测试脚本的编写相对与java更加简单易于学习,并且具有以下优点:

  1. 学习难度小,开发周期短。对目前国内大多数测试人员来说,编码经验不足,python是个很好的入门语言。
  2. 胶水语言,能与C++, Java, COM, and .NET,Object-C 整合。 测试部门要做单元测试,接口测试,因为人员比例的关系,不可能让测试人员同时掌握多门语言,python可以对C/C++, Java, Object-C进行接口封装后,实现单元测试。
  3. 语法简约,清晰。减少后期维护的难度。
  4. 跨平台
  5. 大量可用的库(但python的库有个缺点是,不像perl一样,有个CPAN类库集中地,大部分集中在SourceForge,其实有google这些都不是问题)
  6. 成熟的框架。web: django,zope。高性能网络框架:twisted,gevent
  7. 丰富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 环境搭建详解的更多相关文章

  1. Python环境搭建详解(Window平台)

    前言 Python,是一种面向对象的解释型计算机程序设计语言,是纯粹的自由软件,Python语法简洁清晰,特色是强制用空白符作为语句缩进,具有丰富和强大的库,它常被称为胶水语言. Python是一种解 ...

  2. Windows GTK+ 环境搭建(详解)

    来源:http://blog.sina.com.cn/s/blog_a6fb6cc901017ygy.html Windows GTK+ 环境搭建 最近要做界面的一些东西,但是对微软提供的类库MFC不 ...

  3. 转:python webdriver 环境搭建

    第一节 环境搭建准备工具如下:-------------------------------------------------------------下载 python[python 开发环境]ht ...

  4. Windows环境下,python webdriver环境搭建

    最近刚开始学习selenium,这是我从虫师的<selenium2自动测试实战--基于Python语言>这本书上学到搭建环境的步骤,里面有加上我的一些总结,希望对大家有所帮助!   准备工 ...

  5. windows 64位下,React-Native环境搭建详解 (Android)

    React-Native环境搭建需要: 1.安装Java JDK 2.安装Android Studio 3.安装node.js 4.安装git 5.安装Python 2.x (注意目前不支持Pytho ...

  6. nginx+php环境搭建详解(Linux)

    今天在内网环境下,给linux主机安装nginx+php环境,由于是内网环境,只能手动解压缩包进行安装,在这过程中我也着实遇到了一些问题(困扰了我许久),还好最后搭建环境成功了,所以写篇博客记录一下, ...

  7. Windows下的SVN环境搭建详解

    前言:最近因为要和其他人合作开发项目,所以花时间搭建了SVN的环境. 因为是初次使用SVN,对于SVN的环境搭建很不熟悉,再加上网上的教程都介绍的比较粗略,导致前前后后重做了几次. 当然最终是搭建成功 ...

  8. Vue.js 运行环境搭建详解(基于windows的手把手安装教学)及vue、node基础知识普及

    Vue.js 是一套构建用户界面的渐进式框架.他自身不是一个全能框架——只聚焦于视图层.因此它非常容易学习,非常容易与其它库或已有项目整合.在与相关工具和支持库一起使用时,Vue.js 也能完美地驱动 ...

  9. AngularJS4.0环境搭建详解--windows系统环境

    第一步:安装NodeJS 下载最新版的NodeJS并安装,安装完成后打开CMD命令行,输入以下命令: node -v 若返回类似版本号则代表NodeJS安装成功,如下: 第二部 安装npm 新版的No ...

随机推荐

  1. luogu1001 A+B Problem

    A+B Problem 题目描述 输入两个整数a,b,输出它们的和(|a|,|b|<=10^9). 注意 1.pascal使用integer会爆掉哦! 2.有负数哦! 3.c/c++的main函 ...

  2. js基础提高(二)

    JavaScript基础提高(二) 上篇写的是JavaScript的历史.基本的数据类型和基本的语法进填的话讲的就深入一些了. js的函数 1.js函数定义的方式 (1)普通方式 语法:functio ...

  3. .NET平台微服务项目汇集

    最近博客园出现了一篇文章<微服务时代之2017年五军之战:Net PHP谁先死>,掀起了一波撕逼,作者只是从一个使用者的角度来指点江山,这个姿势是不对的..NET Core就是专门针对模块 ...

  4. [Linux] Desktop Management

    xrandr --output Virtual1 --mode 1360x768 Extend Display Size

  5. JavaScript 学习笔记 - Web Workers

    前言 本文仅是 Web Workers 的入门科普文章,不涉及太琐碎的知识点. 我们知道,在 Web Workers 出来之前,JavaScript 是单线程的.即使是 setTimeout 之类的看 ...

  6. 一次FCK拿bc全过程

    和大家简单的弄下fckeditor 漏洞在红客我看到好多人对fck 这个漏洞很干兴趣 其实这个漏洞这的很老了 也非常好利用  我也扫了一点fck的漏洞网址  下面我们就来打开一个我们看看这个一号站平台 ...

  7. multisim页面设置

    options—sheet properties 页面右键—properties

  8. 数据库-MYSQL安装配置和删除

    * 课程回顾: * 完成注册和登陆的功能. * 准备的工作 * 技术.开源jar包 * 开发的功能使用MVC模式 * C:控制层(接收请求和从客户端发送过来的参数) * 接收参数(request对象) ...

  9. 线性代数-矩阵-【4】点乘 C和C++的实现

    点击这里可以跳转至 [1]矩阵汇总:http://www.cnblogs.com/HongYi-Liang/p/7287369.html [2]矩阵生成:http://www.cnblogs.com/ ...

  10. Struts2.5 利用Ajax将json数据传值到JSP

    AJAX +JSON=>JSP AJAX AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着 ...