【软件测试】自动化测试战零基础教程——Python自动化从入门到实战(二)

2023-11-15

第二章 python webdriver 环境搭建

有了上一节的基础后,下面我们就开始动手搭建自己的自动化测试环境。这也是我们实施自动化测试的准备工作,本书选用 python 语言,如果读者选用的其它语言,请参考其它资料进行环境的搭建。

第一节 环境搭建

准备工具如下:


下载 python【python 开发环境】
http://python.org/getit/
下载 setuptools 【python 的基础包工具】
http://pypi.python.org/pypi/setuptools
下载 pip 【python 的安装包管理工具】
https://pypi.python.org/pypi/pip


要想使用 python 语言开发,首先需要 python 开发环境,需要说明的是 python 目前最新版本分:2.7.x
和3.3.x(简称 python 2 和 python 3);python 3 并非完全的向下兼容 python 2 ,语法上也有较大的
差异。python 3在性能上更加优秀,但由于 python 2多年的发展,大量的类库、框架是基于 python 2,
所以,目前两个版本都在维护更新。笔者推荐新手从 python 2开始学习 python,因为有丰富的资料、类
库和框架给我们学习和使用。当然,随着时间的推移,python 3 才是 python 发展的未来。

setuptools 是 python 的基础包工具,可以帮助我们轻松的下载,构建,安装,升级,卸载 python的软件包。
pip 是python软件包的安装和管理工具,有了这个工具,我们只需要一个命令就可以轻松的python 的任意类库。

windows 环境安装

第一步、安装 python 的开发环境包,选择需要安装路径进行安装,笔者下载的是目前最新的
python2.7.5版本,安装目录为:C:\Python27。

第 二 步 、 安 装 setuptools 通 过 前 面 提 供 的 setuptools 的 连 接 , 拖 动 页 面 到 底 部 找 到 ,
setuptools-1.3.2.tar.gz 文件(版本随着时间版本会有更新),对文件进行解压,找到 ez_install.py
文件,进入 windows 命令提示(开始–运行–cmd 命令,回车)下执行 ez_install.py:
C:\setuptools-1.3>python ez_install.py

如果提示 python 不是内部或外部命令!别急,去添加一下 python 的环境变量吧!桌面“我的电脑”
右键菜单–>属性–>高级–>环境变量–>系统变量中的 Path 为:

变量名:PATH
变量值:;C:\Python27

第三步、安装 pip ,通过上面提供的链接下载 pip-1.4.1.tar.gz(版本随着时间版本会有更新),我默认解压在了 C:\pip-1.4.1 目录下,打开命令提示符(开始–运行–cmd 命令,回车)进入 C:\pip-1.4.1目录下输入:
C:\pip-1.4.1 > python setup.py install

再切换到 C:\Python27\Scripts 目录下输入:
C:\Python27\Scripts > easy_install pip

第四步、安装 selenium,如果是电脑处于联网状态的话,可以直接在 C:\Python27\Scripts 下输入
命令安装:
C:\Python27\Scripts > pip install -U selenium
如果没联网,可以通过下载安装:
selenium 下载地址: https://pypi.python.org/pypi/selenium
下载 selenium 2.33.0 (目前的最新版本),并解压把整个目录放到 C:\Python27\Lib\site-packages
目录下。

linux 环境安装

下面以 unbuntu 为例进行安装,其它版本的 linux 可能会有所差异,在绝大多数 linux 和 UNIX 系统安装中(包括 Mac OS X),Python 的解释器就已经存在了。我们需要做的就是打开终端,输入 python 命令进行验证,这里不再介绍 python 的安装。

第一步、安装:setuptools
root@fnngj-H24X:~# apt-get install python-setuptools

第二步、安装 pip
下载 pip 安装文件,切换到文件目录,对其进行解压:
root@fnngj-H24X:/home/user/python# tar -zxvf pip-1.4.1.tar.gz
切换到解压目录:
root@fnngj-H24X:/home/user/python# cd pip-1.4.1/
进行 pip 的安装
root@fnngj-H24X:/home/user/python/pip-1.4.1# python setup.py install

第三步、安装 selenium
root@fnngj-H24X:/home/user/python/pip-1.4.1# pip install -U selenium

第二节 使用 IDLE 来编写 python

相信上面的配置过程已经让不少新手感到非常繁琐,万事开头难,我们有必要花一点时间在环境的配
置上,因为环境的搭建是后面实施自动化测试的前提。

如果笔者是第一次接触 python 语言且编程能力薄弱,那么笔者建议使用 python 自带的 IDLE 来编写
脚本。为了更好的通过 IDLE 帮助们编写 python+webdriver 脚本,我们需要先了解一下 IDLE。

IDLE 提供了一个功能完备的代码编辑器,允许你在这个编辑器中编写代码,另外还有一个 python
shell(python 的交互模式),可以在其中试验运行代码。

第一次启动 IDLE 时,会显示“三个大于号”提示符(>>>),可以在这里输入代码。python shell 得
到你的代码语句后会立即执行,并在屏幕上显示生成的结果。如图
在这里插入图片描述

有效地使用 IDLE

IDLE 提供了大量的特性,不过只需了解其中一小部分就能很好地使用 IDLE。
TAB 完成:
先键入一些代码,然后按下 TAB 键。IDLE 会提供一些建议,帮助你完成这个语句。
在这里插入图片描述

回退代码语句:
按下 Alt+P,可回退到 IDLE 中之前输入的代码语句,或者按下 Alt+ N 可以移至下一个代码语句。
如图 2.x 按 Alt+P 回退到上一次编辑的代码。
在这里插入图片描述

第三节 第一个自动化脚本

有了上面的环境,你一定很迫切想要编写并运行一个自动化脚本,下面就来体验一下 python 与wegdriver 结合之后编写的脚本是多么简洁:
如果是 windows 用户,在开始菜单找到 python 目录,打开 IDLE(python GUI)程序,启动的是一个
交互模式。可以输入:from selenium import webdriver
上面的命令为导入 selenium 的相关包,如果回车后没有报错表示我们的 selenium 安装是成功的。
在这里插入图片描述

下面通选择菜单栏 File—>New Windows 或通过快捷键 Ctrl+N 打开新的窗口。输入以下代码:

# coding = utf-8
from selenium import webdriver

browser = webdriver.Firefox()
browser.get("http://www.baidu.com")

browser.find_element_by_id("kw").send_keys("selenium")
browser.find_element_by_id("su").click()

browser.quit()

输入完成后命令为 baidu.py 保存,按 F5 快捷键运行脚本,将看到脚本启动 Firefox 浏览器进入百度页,
输入“selenium” 点击搜索按钮,最后关闭浏览器的过程。(这里默认读者已经安装了 Firefox 浏览器)

我们后面的脚本也将会在这个编辑器下完成,在你还没找到更好的编辑器之前。

代码解析:

#coding = utf-8
为了防止乱码问题,以及方便的在程序中添加中文注释,把编码统一成 UTF-8。

from selenium import webdriver
导入 selenium 的 webdriver 包,只有导入 webdriver 包我们才能使用 webdriver API 进行自动化脚本
的开发。 import 所引入包,更专业的叫法为:模组

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【软件测试】自动化测试战零基础教程——Python自动化从入门到实战(二) 的相关文章

随机推荐

  • Unity中添加按钮的方式

    方式一 使用 GUILayout 自动布局 用 GUILayout Button 来创建按钮 会自动的在屏幕的右上角按列排列按钮 这种方式添加的按钮大小和位置都无法改变 为默认值 private void OnGUI if GUILayou
  • f5负载均衡配置文件服务器,f5 负载均衡 dns 服务器 配置

    f5 负载均衡 dns 服务器 配置 内容精选 换一换 查询负载均衡器状态树 可通过该接口查询负载均衡器关联的监听器 后端云服务器组 后端云服务器 健康检查 转发策略 转发规则的主要信息 了解负载均衡器下资源的拓扑情况 GET v2 pro
  • mongodb入门操作

    mongodb入门操作 简单了解一下NoSql NoSql NoSql not only sql 是非关系型数据库系统的统称 它用于超大规模的数据的存储 提供有限的查询功能 mongodb mongodb是一个基于分布式文件存储的数据库系统
  • Rabbit学习笔记

    引言 什么是MQ MQ Message Quene 消息队列 通过典型的生产者和消费者模型不断向消息队列中生产消息 消费者不断从队列中获取消息 因为消息的生产和消费是异步的 而且只关系消息的发送和接收 没有业务逻辑的侵入 轻松地实现系统间解
  • IMU的ROS调试开发工具包:imu_tools

    目录 imu tool包 问题 参数配置便利性问题 实例 调试microstrain 3dm gx5 25 imu 问题 发布的imu姿态与实际imu姿态不一致问题 imu tool包 http wiki ros org imu tools
  • Java串口通信-JSerialComm

    Java串口通信 JSerialComm 目前网上的Java串口通信主要使用RXTXComm 但是这个库已经很久没有更新 最近的更新似乎在2012年 并且与JavaFX集成打包时会出现BUG JSerialComm是一个较新的串口通信库 其
  • 深度学习——权重的初始值

    权重的初始值 权重的初始值十分重要 关系到神经网络的学习是否成功 可以将权重初始值设置为0吗 为了抑制过拟合 提高泛化能力 采用权值衰减的方法 它是一种以减小权重参数的值为目的进行学习的方法 在误差反向传播法中 所有的权重值都会进行相同的更
  • truss 命令

    truss 命令用途跟踪进程的系统调用 动态装入的用户级函数调用 接收的信号和造成的机器故障 语法truss f c a l d D e i t x Syscall s Signal m Fault r w FileDescriptor u
  • gitlab 搭建与使用

    gitlab 搭建与使用 参考博客链接 https blog csdn net weixin 38912024 article details 82383312 https blog csdn net hao5335156 article
  • JasperReport6.x 提示:No markuo processor factory specified for ““ markup

    Jaspersoft Studio 提示如下错误信息 No markuo processor factory specified for markup 解决方法 jrxml 切换至源码模式 查询makeup 属性字段标签 将内容编辑为 no
  • ssh: connect to host port 22: No route to host问题

    笔记本没电自动关机 但是虚拟机是开启状态 开机之后发现连接不上其中一个虚拟机 出现了ssh connect to host port 22 No route to host问题提示 后来检查防火墙和网都没有问题 使用ifconfig命令后发
  • ie 使用window.open页面报错

    window open url 打开新页面是如果要通过地址栏来传参要注意 var qt qt teachMaterialDealInfo bookids selectBooks qt teachMaterialDealInfo writer
  • vba文字型的值转换成数值类型

    今天在做表的时候 发现数组中提取出来的是文字类型 需要转换成数值类型 网上搜索到了字符转换的方法 超级实用 记录下来 如果用mid函数提取的字符范围增加 可参照VBA中的帮助 类型转换函数 CBool expression CByte ex
  • 正则表达式匹配数字、字母和汉字等各类汇总

    最近在开发中遇到一个需求是只匹配字母和汉字 于是在网上找了一个比较全的记录一下 日后再用 正则表达式来匹配规范一段文本中的特定种类字符 下面是对常用的正则匹配做了一个归纳整理 1 匹配中文 u4e00 u9fa5 2 英文字母 a zA Z
  • unity code-动作系统Animator

    AnimatorOverrideController是运行时版本 可以运行时更改controller AnimatorController是编辑器版本 不能运行时修改 所以运行时只能通过用AnimatorOverrideController
  • 自动化测试框架之RobotFramework进行接口测试

    首先在进行接口测试前分析一下如何进行接口请求的发送或进行接口请求发送包含哪些内容 那么就需要对http请求包含的内容 请求行 协议版本 URL 请求方法 请求头 host content Type Accept等 请求体 发送请求需要带的参
  • 关于SSM框架体会和小结

    前言 使用SSM spring SpringMVC和Mybatis 已经有三个多月了 项目在技术上已经没有什么难点了 基于现有的技术就可以实现想要的功能 当然肯定有很多可以改进的地方 之前没有记录SSM整合的过程 只写了个搭建Maven过程
  • 2021-02-08

    学习目标 综合练习题 10道经典题目 天池龙珠计划SQL训练营 学习内容 10道sql练习题 学习产出 1 说实话自己写不全 还是翻看了答案才知道 2 自己装了sql建库建表 导入数据特别慢 电脑配置不够
  • 【Vue学习笔记】- 事件的基本使用

    总结 1 使用 v on xxx 或 xxx 绑定事件 其中xxx是事件名 2 事件的回调需要配置在methods对象中 最终会在vm上 3 methods中配置的函数 不要用箭头函数 否则this就不是vm了 4 methods中配置的函
  • 【软件测试】自动化测试战零基础教程——Python自动化从入门到实战(二)

    软件测试知识持续更新中 第二章 python webdriver 环境搭建 第一节 环境搭建 准备工具如下 windows 环境安装 linux 环境安装 第二节 使用 IDLE 来编写 python 有效地使用 IDLE 第三节 第一个自