基于python的界面自动化测试-基于Python语言的自动化测试实战第二章(上)-程序员宅基地

原标题:基于Python语言的自动化测试实战第二章(上)

测试环境搭建

2.1 Windows 下的环境搭建

如果想要学习一门编程语言,对于新手来说只需到其官方网站上去下载最新版本安装即可,但对于想要学习Python 的新手来说,将会面临一个版本选择的问题。因为Python同时存在两个版本(Python2 和Python 3),而这两个版本目前处于并行更新状态。

之所以会有两个版本并存的情况,是因为早期的Python版本在基础方面设计存在着一些不足之处,Python3在设计的时候很好地解决了这些遗留问题,并且在性能上也有了一定的提升,但同时带来的新问题就是不完全向后兼容,所以就造成了两个版本并存的情况。

就目前情况来看,两个版本的更新与维护都在继续。并且Python 2的开发者依然过半。在小编看来选择哪一个版本进行入门学习都可以,对有丰富经验的Pythoner 来说,选择使用哪个版本取决于他们当前要使用的库、框架是否支持该版本,当然,对于新手来说选择Python3的最大好处就是可以很大程度地避免编码问题。

在该书出版时,小编纠结该选择Python2还是Python3,因为本文中涉及的部分库目前还不支持Python3,例如,第8.1节的HTMLTestRunner,第12章中的Lettuce等。站在未来的角度,决定将所有代码基于Python 3实现并说明与Python2的不同之处,这样不管选用哪一版本都可以按照本文的内容进行学习。

2.1.1安装 Python :

访问Python 官方网站: htps://www.Python.org。

找到下载页面下载最新版本的Python3。读者可根据自己的平台选择相应的版本进行下载。对于Windows用户来说,如果是32位系统则选择x86版本;如果是64位系统,则选择64版本。下载完成后会得到一个以.msi 为后缀名的文件,双击进行安装,如图2.1 所示。

fca608f65a2143eaaa41bdccc7712068.jpeg

图2.1 Python 安装界面

安装过程与一般的Windows 程序类似。安装完成后,可在开始菜单中看到安装好的Python目录,如图2.2所示。

9e2f6fcd08174b6d854ada9b5da9b809.jpeg

图2.2 Python目录

打开Python自带的IDLE,就可以编写Python程序了,Python Shell界面如图2.3所示。

d01c81af595d4aadb55f0ea5d41c7ec1.jpeg

图2.3 Python Shell界面

或者通过在Windows命令提示符下输入“python” 命令,也可以进入Python Shell 模式,如图2.4所示。

e1bf7f82964b4792a987fc3837c91265.jpeg

图2.4命令提示符

小提示:如果提示Python不是内部或外部命令!别急,把Python 的安装目录添加到系统环境变量的Path下面,右击桌面“我的电脑”,打开右键菜单,在属性→高级→环境变量→系统变量的Path中添加:

变量名: PATH

变量值: ;C:Python35

也可以在图2.1所示Python安装界面,勾选Add Python 3.5 to PATH复选框,在安装完成后自动完成PATH配置工作。

2.1.2安 装setuptools与pip

setuptools是Python Enterprise ApplicationKit (PEAK)的一个副项目,它是Python的distutilsde工具的增强工具,可以让程序员更方便地创建和发布Python 包,特别是那些对其他包有依赖性的状况。

经常使用Python 的读者可能会注意到,当需要安装第三方Python 包时,可能会用到easy_ install 命令。easy_ install 是由PEAK开发的setuptools包里带的一个简易安装命令,因此使用easy_ install 时实际上是在调用setuptools 来完成安装模块的工作。

pip是一个安装和管理Python包的工具,通过pip来安装Python包变得十分简单,我们将省去搜索→查找版本→下载→安装等烦琐的过程。pip 的安装依赖setuptools, 所以在安装pip之前需要先安装setuptools。 需要注意的是,目前Python3并不支持setuptools,因此需要使用distribute。

setuptools与pip下载地址如下:

htps://pypi.Python.org/pypisetuptools

https://pypi.Python.org/pypi/pip

通过上面的地址进行下载,将得到下面两个包(随着时间变化,包的版本号会有所更新)。

setuptools-18.4.zip

pip-7.1.2.tar.gz

通过解压缩工具进行解压,将得到相应的文件夹。在Windows命令提示符下进入文件解压缩目录,通过python命令执行setup.py进行安装。以下分别为安装setuptools与pip的命令:

3d0b7f9bf7e34aea92232eb05ad87b9a.jpeg

不过,在最新Python 安装包中已经集成了pip, 读者可以到Python 安装目录C:Python35下查看是否有pip.exe或pip3.exe 文件。如果有则可以直接在Windows命令提示符下输入pip或pip3命令:

f8abd47fde1a4620be16077fed241096.jpeg

如果出现pip命令的说明信息,则说明我们已经安装成功。如果提示pip不是内部或外部命令,则可以手动将C:Python35s目录添加到系统环境变量下的Path下面,重新打开cmd命令行验证。

2.1.3安 装Selenium

Selenium这里不再过多介绍,前面安装pip是为了更方便地安装Selenium包,通过pip命令可直接安装Selenium包:

7d53d00484674a838d82b473122a8f33.jpeg

安装pip的好处是可以使用pip 命令方便地安装Python 第三方库,就像当前安装Selenium 一样简单。在通过pip安装Python 第三方库时,如果只输入包名,则默认安装当前库中最新的版本,如果我们不想安装最新版本的包,则可以在包名后面加版本号。

4b7aa1671132433ba6a50146cb66579d.jpeg

pip下面包含了很多命令,正如我们前面只输入一个有pip后回车所得到的提示。show命令可查看安装包的版本及安装路径。

2.1.4 ActivePython

ActivePython是由ActiveState公司推出的Python专用编程和调试工具。

ActivePython包含了完整的Python内核,可直接调用Python官方的开源内核:此外还有Python编程需要用到的IDLE,并附加了一些Python的Windows扩展,同时还提供了访问Windows APIs的所有服务。ActivePython虽然不像纯Python那样是开源的,但也可以免费下载使用。

使用ActivePython的好处是它已经集成了pip包管理工具,可以直接通过pip命令来安装Python第三方库。

ActivePython下载地址如下:

http://www.activestate.com/activePython/downloads

ActivePython同样支持Windows、Mac和Linux等平台,读者可根据自己的平台下载相应的ActivePython 版本,安装界面如图2.5所示。

7a272ff953fc488392e2abbbfce689b2.jpeg

图2.5 ActivePython 安装界面

ActivePython的安装过程与Python相同,安装完成后,同样会在Windows开始菜单中生成相应的菜单项。

安装ActivePython后,可以以同样的方式使用pip命令安装Selenium库,过程同上,这里不再赘述。

2.2 Ubuntu 下的环境搭建

Linux操作系统的版本很多,这里以流行的Ubutu 系统为例,介绍在其下面的安装过程。

因为Ubuntu系统本身对Python有很强的依赖,所以Ubuntu自带的就有Python。笔者曾因不小心卸载了Ubuntu系统自带的Python,从而导致系统无法正常启动,这一点也说明了Python在不同领域都有非常广泛的应用。

当前在Ubutu系统中已经同时集成了Python2与pytbon3, 打开终端,输入“python2”或"Pyhon3”命令回车,即可进入相应版本的Python Shell 模式。

2598f48f3bb948a8b5b0dbbbe903da30.jpeg

下面我们在Ubuntu的Python 3下安装stptools与pip,因为它们已经存在于Ubuntu的软件仓库之中,所以可以使用ap-gct命令进行安装。apt-get是debian、Ubuntu 等发行版Linux系统的包管理工具。

安装setuptools的命令如下:

5db396bc9b66479ca5e4ef609f188c20.jpeg

小提示:apt-get命令一般需要root权限执行,所以在使用apt-get命令之前需要先切换到root用户,如果不想切换为root用户,则可以在命令前加sudo。sudo命令是允许系统管理员让普通用户执行一些或者全部r命令的一个工具。

例: sudo apt-get XXXX

用同样的方法安装pip。

bee704be470c48b295ee53f3954210e5.jpeg

如果通过apt-get命令无法安装,则参考Windows下面的安装方式,先到Python官方网站下载相应安装包,解压执行setup.py文件进行安装。

如果想使用Python 3的pip安装Selenium,可以通过以下命令。

c51ed19a119746e9821d053675ead2ce.jpeg

2.3使用IDLE编写Python

通过上面烦琐的配置后我们终于搭建好需要的自动化开发环境了,那么你一定迫不及待要跟着我一起写自动化脚本了,别急!在此之前我们需要先找到合适的IDE(Integrated Development Environment, 集成开发环境)。如果你是一位编程老手, 那么你一定有自己趁手的IDE;如果是一位编程菜鸟,那么Python自带的IDLE是个不错的入门之选。

IDLE (PythonGUI) 是一个功能完备的代码IDE,允许你在这个IDE中编写代码,另外还有一个Python Shell (Python 的交互模式),可以在其上面进行编程练习。

启动IDLE时,会显示“三个尖括号”提示符(>>>),可以在这里输入代码。在Python Shell输入代码回车后会立即执行,并直接在下面显示执行的结果,如图2.6所示。

252014ed593047599dfa8758e4cb9184.jpeg

图2.6 Python Shell下输入代码

IDLE提供了大量的特性,不过只需了解其中一小部分就能高效地使用IDLE。

1.Tab键自动补全

先键入Python关键字的前面几个字母,然后按下Tab键,IDLE 会自动匹配出相应的关键字。通过键盘上下键进行选择,从而提高代码输入速度,降低输错率,如图2.7所示。

f0a027c4bc0148cfaee96699a9a3003f.jpeg

图2.7 Tab键 自动补全

2.回退代码语句

可以通过组合键Alt+P回退到上一次编辑的Python代码,组合键Alt+N与之相反,可以前进至下一次编辑的代码。如果在Python Shell模式下,代码不小心写错导致执行错误,那么通过回退修改要比重新输入一遍高效得多,如图2.8所示。

274416a3fdd54a19a916401b1da84719.jpeg

图2.8 Alt+P 回退

在Python Shell模式下编写的代码只停留于内存当中,当关闭Python Shell后会自动消失。如果我们想把代码写到文件里保存起来,则可以单击菜单栏File→New File,或通过组合键Ctrl+N打开新的窗口,在此文件中编写代码,完成后单击菜单栏File→Save或通过组合键Ctrl+S保存,如图2.9所示。

c8296474e8e54b1ca7168a5bd2864848.jpeg

图2.9保存Python程序

需要注意的是,在文件保存时,一定要加上文件后缀名 “.py”,否则文件中代码的着色效果将消失。

欲知后事如何,且听下回分解。

本文来源网络,如有侵权,请联系删除。返回搜狐,查看更多

责任编辑:

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_37988176/article/details/109424125

智能推荐

swiper实现滑动tab切换效果_swiper 滚动tab-程序员宅基地

实现效果,一个滑动的tab切换 var tabItem = $(".listButton"); var mySwiperSchedule = new Swiper(".swiper-container", { // 高度自适应 autoHeight: true, slidesPerView: "auto", autoplay: false, on: { //swiper从当前slide开始过渡到另一个sli_swiper 滚动tab

下周有18只科创板新股可申购 包括中国通号澜起科技-程序员宅基地

【TechWeb】7月5日消息,在华兴源创、睿创微纳、天准科技和杭可科技上周与本周申购之后,科创板下周将迎来一波新股申购潮,共有澜起科技等18只科创板新股在下周申购。科创板最早开始申购的是华兴源创,其在6月27日申购,其网下初步配售结果及网上中签结果已在7月1日公布,华兴源创之后进入申购阶段的是睿创微纳与天准科技,这两家公司..._澜起科技csdn

十大Intellij IDEA快捷键(转)_intellij idea 输入lambda 快捷-程序员宅基地

十大Intellij IDEA快捷键(转)1智能提示Intellij首当其冲的当然就是Intelligence智能!基本的代码提示用Ctrl+Space,还有更智能地按类型信息提示Ctrl+Shift+Space,但因为Intellij总是随着我们敲击而自动提示,所以很多时候都不会手动敲这两个快捷键(除非提示框消失了)。用F2/ Shift+F2移动到有错误的代码,Alt+Enter快速..._intellij idea 输入lambda 快捷

车道识别_识别斑马线程序摄像头组-程序员宅基地

车道识别1.打开摄像头2.透视转换​ 2.1 首先对图像二值化- 2.1.1利用Sobel梯度阈值对于x、y获取二值化图像​ 2.2 选择感兴趣区域,并对感兴趣区域进行透视变换获取透视变换后的值3.提取的左右车道上拟合多项式​ 3.1 找到左右车道的质心- 3.1.1选取图像的1/4进行处理- 3.1.2通过获取左右最大最小像素点,并选取最优点​ 3.2 绘制mask覆盖​..._识别斑马线程序摄像头组

HaaS轻应用(Python):连接物联网平台并控制设备硬件_python 对接硬件-程序员宅基地

1、前言Python 语言的是一款非常容易使用的解释性语言,它的主要特点如下:易学易用 可扩展可移植 丰富的三方库正是由于以上这些特点,使得python在一些逻辑简单,功能复杂的场景应用非常广泛。近几年,随着人工智能的飞速发展,Python 的优点得到的充分的体现,因此成为了AI开发的首选语言。MicroPython(简称mpy)在保留了python语言主要特性的基础上,他还对嵌入式系统的底层做了非常不错的封装,它的特点如下:沿用python语法和基本数据结构,保持易学易用性..._python 对接硬件

网页设计与网站规划 作业22 css美化的表单_css表单作业_Rhyme_7的博客-程序员宅基地

<!DOCTYPE html><html><head> <title>css表单的应用</title> <style type="text/css"> *{ margin:0; padding:0;} *{ color:white; } .beijing{ background-im..._css表单作业

随便推点

奥鹏16春计算机应用基础,奥鹏西工大16春计算机应用基础(本)》在线作业.doc_孔李聃丘的博客-程序员宅基地

奥鹏西工大16春计算机应用基础(本)》在线作业西工大16春《计算机应用基础(本)》在线作业一、单选题(共 50 道试题,共 100 分。)1. 关于Intrnt,下列说法不正确的是( )。. Intrnt是全球性的国际网络. Intrnt起源于美国. 通过Intrnt可以实现资源共享. Intrnt不存在网络安全问题正确答案:2. 下面的图形图像文件格式中,( )可实现动画。. WMF格式. ..._奥鹏计算机应用基础在线作业

python调用windows api_用Python调用windows API实现老板键功能-程序员宅基地

老板键是很多应用程序提供的一键隐藏窗口功能。但也有很多应用不支持。作为程序员或者打算入门的我们,当然是要自己写一个啊。Python本身是不支持操作Window窗口的,但我们可以用pip安装pywin32来实现调用Windows SDK API, 这个包其实是C++程序函数的封装,基本上是一一对应的关系。首先,我们需要找到程序的hwnd, 这个以前翻译成句柄,生造出来的术语,其实就是一个指针,指向程...

转载:eclipse 搭建SSH项目(第二篇,有具体的项目例子)-程序员宅基地

原文地址:http://blog.csdn.net/yeohcooller/article/details/9316923读博文前应该注意:本文提纲:本文通过一个用户注册的实例讲解SSH的整合。创建Struts项目,整合Hibernate,整合Spring。最后总结如何熟练创建SSH项目。仅是创建SSH项目,对于其他的扩展例如Struts的国际化,Hibernate的缓存优化,Sp...

Linux自学笔记_ 基本命令01-程序员宅基地

mkdir 创建单个或批量创建多个目录(常用参数:-p递归创建目录)touch 创建单个或批量创建多个文件(批量创建多个文件:for f in`seq 1000`;do touch $f.txt;done)例如批量创建一千个TXT文件;还有echo &gt;a.txt 以及 &gt;b.txtvi或vim编辑文件(按i进入编辑模式输入编辑的内容,按ESC退出编辑模式再:wq保存并退出)...

如何增加访问量、阅读量(3.0)-程序员宅基地

这个3.0版本挺早之前就写好,一直都比较忙,没有空写博客。这次把程序做成了图形界面类型,并可以根据自己的需求选择访问哪几篇博客或者是全部访问,然后是可以选择是否随机访问。这是2.0版本的链接:https://blog.csdn.net/qq_41998273/article/details/86910359我的图形界面是用Eclipse的插件WindowBuilder写的,这是下载安装Wi...

正则表达式_非一个数字正则-程序员宅基地

目录01_正则表达式概念及基本使用02_正则表达式之字符类03_正则表达式之预定义字符类04_正则表达式之数量词05_正则表达式的分割功能06_Pattern类和Matcher类07_正则表达式的获取功能01_正则表达式概念及基本使用概念是指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串。其实就是一种 规则。有自己特殊的应用。作用主要是用来做表单的内容的规则校验基本使用需求键盘录入一个qq号码,要求该号码长度在5~15之间,不能以0开头,必须全部都是_非一个数字正则