您的位置:首页 > 编程语言 > Python开发

python-day0003-搭建基于python的selenium自动化测试---第一个简单的测试脚本

2016-06-06 22:39 633 查看
前一篇文章中,已经介绍了如何搭建基本python的selenium测试环境。在开始学习之前,一直在思考一个问题,当前的工作环境不具备自动化测试的条件,自己也没有独立的可以在本机发布的完整的小项目(可能有,但是不一定要把整个web的服务器搭建起来),那么我该怎么进行实战操作呢。查阅了一些资料,看了最新出版的一些测试方面的书籍以及论坛中的一些帖子后,发现根本不需要我们去搭建一套专门的环境来测试。我们完全可以用各种web站点就能进行我们的测试实践。

下面,就来让我们看看神奇的自动化测试是如何进行工作的。

以简单的百度首页的搜索功能为例:编写一个自动化脚本,实现在运行时,自动启动浏览器,使用百度首页的搜索页面自动搜索出关键字为“python环境搭建”的结果。

一、那么我们分析一下这个自动化脚本要实现搜索功能所需的步骤:

1.找到一个可用的浏览器,并打开这个浏览器,当然,在第一次编写脚本的时候,我们假定这个可用的浏览器是firefox  (后续再进行多浏览器的选择的学习)

2.进入“百度首页”的网址:http://www.baidu.com

3.在搜索栏中输入关键字“python环境搭建”

4.点击【搜索】按钮,提交要搜索的内容

二、分析完步骤后,我们开始编写脚本。python语言是直接解释型的语言,直观易懂。以下是根据分析的步骤,编写的自动化脚本。

 
from selenium import webdriver
 
driver =webdriver.Firefox()
driver.get("http://www.baidu.com")
 
driver.find_element_by_id("kw").send_keys("python环境搭建")
driver.find_element_by_id("su").click()
这里对后面两行代码中的“kw” 和 “su“简单的解释一下

我们看到driver调用的方法是find_element_by_id();很显示,这个方法是要找到id="kw"的元素,和一个查找语句是找到这个元素后,给这个元素传入值“python环境搭建”,然后找到id=“su”的元素后,点击鼠标。

那么,我们为什么要找id=kw和id=su的元素呢?

打开百度首页,如下图所示

我们可以看到,页面上有一个文本输入框,一个【百度一下】的按钮。回想我们实际搜索时的操作:在文本框中输入我们要搜索的关键字,然后点击【百度一下】(或者直接按键盘上的回车键),就将搜索的请求发送到百度的搜索服务器中去了。

同样,我们的自动化脚本要做的是,找到这个文本框,输入关键字,再找到【百度一下】按钮,然后点击一下按钮,就完成了我们要实现的测试点

那么如何找到这两个元素呢?

如果你的firefox安装了firebug(一款开发者工具,用于扩展firefox的客户端代码调试功能),没安装也没关系,firefox的本身集成的开发者工具,IE8版本以后也有自动的源码查看工具。

打开后,使用元素定位的功能,找到文本框和搜索按钮两个元素的id,如下图所示

三、将上面的自动化脚本代码进行保存,命名为test001.py ,脚本编写完成后,我们需要执行一下这个脚本是否真的能完成我们的预期目标

执行方法:可以直接双击保存的.py脚本文件,系统会默认使用pyhon的解释器对执行脚本中的内容。

也可以在cmd的窗口中使用python命令执行:cd到脚本文件所保存的目录,然后输入命令 python test00.py  回车即可

若脚本无问题的话,那么自动化脚本执行的过程应该与我们手动进行搜索的步骤是一样的。显示,脚本执行时,搜索的效率要比我们搜索的速度快多了(不是指网速或服务器响应,而是每一个操作步骤所需要花费的时间)。

一个简单的搜索操作,就能节省那么多时间 ,对于大型又复杂的系统来说,就可以节省很多的时间。同时,这种脚本是可以重复使用的。在项目测试的过程中,编写一次脚本,可以重复使用,对于问题的复现与测试的回归,都是比较精准而高效的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息