Selenium+Webdriver+Python自动化测试环境

上传人:n**** 文档编号:50810222 上传时间:2018-08-11 格式:PPT 页数:35 大小:2.39MB
返回 下载 相关 举报
Selenium+Webdriver+Python自动化测试环境_第1页
第1页 / 共35页
Selenium+Webdriver+Python自动化测试环境_第2页
第2页 / 共35页
Selenium+Webdriver+Python自动化测试环境_第3页
第3页 / 共35页
Selenium+Webdriver+Python自动化测试环境_第4页
第4页 / 共35页
Selenium+Webdriver+Python自动化测试环境_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《Selenium+Webdriver+Python自动化测试环境》由会员分享,可在线阅读,更多相关《Selenium+Webdriver+Python自动化测试环境(35页珍藏版)》请在金锄头文库上搜索。

1、Selenium+Webdriver+PythonSelenium+Webdriver+Python 自动化测试环境自动化测试环境一.Selenium+Webdriver+Python基 本框架的介绍 二.自动化测试环境的搭建 三.selenium-ide脚本录制和脚本写作 四.unittest的简单介绍及使用 五.网页元素的定位 六.浏览器的基本操作 七.拓展: (1)测试报告的生成 (2)数据驱动(文本、表格等)一.Selenium+Webdriver+Python基本框架介绍Selenium是一个开源的和便携式的自动化软件测试工具, 用于测试Web应用程序有能力在不同的浏览器和操作系统

2、运行,相比QTP有以下优点:* 开源免费,不用为破解而大伤脑筋* 小巧,对于不同的语言它只是一个包而已, 而QTP需要下载安装1个多G 的程序。* 支持多种脚本语言,这是最重要的一点,不管你以前 更熟悉C、 java、ruby、python、或是C# ,你都 可以通过selenium完成自动化测试,而QTP只支持VBS * 支持多平台:Windows、Linux、MAC * 支持多浏览器:IE、Firefox、 Chrome、Safari、 Opera等一.Selenium+Webdriver+Python基本框架介绍一.Selenium+Webdriver+Python基本框架介绍Selen

3、ium: 1、 Selenium脚本录制和回放2、 Selenium自动化脚本(.py)编写3、 Selenium测试套(Testsuite) 初始化,预置条件 用例执行部分 清理,还原初始环境4、截图以及结果报告的生成一.Selenium+Webdriver+Python框架的介绍软件列表Python(2.7.x)(脚本语言,驱动Selenium)SetupTools、pip工具(安装包管理工具 )Python的Selenium包(实现网页自动化测试)浏览器(firfox,ie、chrome等)网页驱动 IE:IEDriver Chrome:ChromedriverSelenium IDE插

4、件firebug插件(获取网页元素的Xpath、Css等)其他:HTMLTesterRunner.py(生成测试报告) 、xlrd(对xls表格进行读操作)等脚本开发脚本执行辅助脚本录制第一步:下载并安装Python(推荐使用2.7.x版本) exe文件运行安装即可,安装后环境变量中添加 python的安装目录。第二步:下载并安装Python的SetupTools: SetupTools就是一个帮助你安装第三方工具包的增强 工具软件。 下载文件后,对setuptools-x.x.tar.gz文件进行解压, 进入windows命令提示下执行setup.py,X:setuptools-x.x py

5、thon setup.py install 没有报错表示安装成功。第三步:下载并安装Python的包管理工具 pip,pip有点类似 SetupTools ,但是比它强大。 下载文件后, pip-x.x.tar.gz文件进行解压,进入windows命令 提示下执行setup.py ,如: X:pip x.x python setup.py install 没有报错表示安装成功。 切换到X :Python27Scripts 目录下输入: X:Python27Scripts easy_install pip 没有报错表示安装成功。二.自动化测试环境的搭建第四步:下载并安装基于Python的Sele

6、nium包 下载selenium x.xx.x ,并解压把整个目录放到 X:Python27Libsite-packages目录下,进入 windows命令提示下执行setup.py,如: X:Python27Libsite-packagesselenium-x.xx.x python setup.py install 没有报错表示安装成功。第五步:验证Selenium安装是否成功 .其他: Firefox浏览器,网页驱动(IE:IEDriver Chrome:Chromedriver ),selenium-ide插件(脚本录制),HTMLTesterRunner.py (生成测试报告),xl

7、rd(对xls表格进行读操作)等HTMLTesterRunner.py(生成测试报告),xlrd(对xls表格进行读操作)将其 放到Python的LIB库中,Import HTMLTesterRunner 、 Import xlrd就可实 现相应的功能。二.自动化测试环境的搭建二.自动化测试环境的搭建#验证Selenium安装是否成功 #功能:打开巨潮网主页,在搜索栏输入000001进行搜索 #coding=utf-8 from selenium import webdriver #Keys提供键盘操作 from mon.keys import Keys import time#打开Firef

8、ox浏览器 driver = webdriver.Firefox() #打开巨潮网主页 driver.get(“http:/ #在搜索栏输入000001 driver.find_element_by_id(“common_top_input_obj“).send_keys(“000001“) #回车进行搜索 driver.find_element_by_id(“common_top_input_obj“).send_keys(Keys.ENTER) #延迟2秒 time.sleep(2) #关闭浏览器 driver.quit()Selenium的IDE(集成开发环境)是一个易于使用的Firef

9、ox插件,用于开发 Selenium测试案例。它提供了一个图形用户界面,用于记录使用Firefox浏览器 ,用来学习和使用Selenium用户操作,但它只能用于Firefox浏览器不支持其它 浏览器。然而,所记录的脚本可以被转换成由Selenium 支持多种编程语言和脚 本可以在各种其它的浏览器,以及被执行。脚本录制步骤:第一步:打开火狐浏览器,在地址栏上 输入被测网页的URL. 第二步:菜单栏:工具-selenium-ide 打开后,在的selenium-ide地址栏输入相同的URL. 第三步:点击开始录制 第四步:在浏览器中进行相应的操作 第五步:点击结束录制,查看并回放Selenium

10、IDE 录制的结果 第六步:脚本导出(选择导出需要的语言脚本:Python2 /Unittest/webdiver )三.selenium-ide脚本录制和脚本写作三.selenium-ide脚本录制和脚本写作三.selenium-ide脚本录制和脚本写作三.selenium-ide脚本录制和脚本写作IDE录制脚本存在局限和问题:1、脚本不稳定,回放经常出错。(部分操作捕获不到 )2、阅读性差,不知道自动化测试执行了具体哪些操作 ,和实现什么功能。(注释)3、如果web页面中的个别元素发生了变化 ,所有涉及该元素的脚本需要修改。4、元素的id或部分文字是动态的, 即每次执行的脚本都是不同的。(

11、参数化)5.缺少对实际结果进行判断的语句。(断言)等等打开IDLE(python GUI) OPEN:加载录制导出的脚本,进行脚本编写。三.selenium-ide脚本录制和脚本写作四.unittest的简单介绍及使用TestCase: 一个测试用例,或是一个完整的测试流程,包括测试前准备环境的搭建(setUp) ,执行测试代码(run)以及测试后环境的还原(tearDown)。 元测试(unittest)的本质也就在这里,一个测试用例是一个完整的测试单元, 通过运行这个测试单元,可以对某一个问题进行验证。 TestSuite: 而多个测试用例TestCase集合在一起,就是TestSuite

12、,而且TestSuite也可以 嵌套TestSuite。 TestLoader: 用来加载TestCase到TestSuite中的,其中有 几个loadTestsFrom_()方法,就是从各个地 方寻找TestCase,创建它们的实例,然后 add到TestSuite中,再返回一个TestSuite实 例。 TextTestRunner: 是来执行测试用例的,其中的run(test)会执 行TestSuite/TestCase中的run(result)方法。 测试的结果会保存到TextTestResult实例中, 包括运行了多少测试用例,成功了多少,失 败了多少等信息。整个流程:首先是要写好T

13、estCase,然后由 TestLoader加载TestCase到TestSuite,然 后由TextTestRunner来运行TestSuite, 运行的结果保存在TextTestResult中,整个 过程集成在unittest.main模块中。四.unittest的简单介绍及使用Test Fixture: 对一个测试用例环境的搭建和销毁,通过覆盖TestCase 的setUp()和tearDown()方法来实现。 这个有什么用呢?比如说在这个测试用例中需要访问数据 库,那么可以在setUp()中建立数据库连接以及进行一些 初始化,在tearDown()中清除在数据库中产生的数据, 然后关闭

14、连接。注意tearDown的过程很重要,要为以后 的TestCase留下一个干净的环境。一个完整的测试脚本包含:1.import unittest2.定义一个继承自unittest.TestCase的测试用例类3.定义setUp和tearDown,在每个测试用例前后做一些辅助工作。4.定义测试用例,名字以test开头。5.一个测试用例应该只测试一个方面,测试目的和测试内容应很明确。主要是 调用assertEqual、assertRaises等断言方法判断程序执行结果和预期值是否相 符。6.调用unittest.main()启动测试7.如果测试未通过,会输出相应的错误提示 。如果测试全部通过则不

15、显示任何东西,也可以添加-v参数显示详细信息。四.unittest的简单介绍及使用四.unittest的简单介绍及使用四.unittest的简单介绍及使用第2种调用方法:自己创建一个TestSuite,添加需要执行测试 的TestCase,然后使用TestRunner().run(suite)执行测试。if _name_ = _main_: suite = unittest.TestSuite() suite.addTest(TestSequenceFunctions(test_choice) suite.addTest(TestSequenceFunctions(test_sample) u

16、nittest.TextTestRunner().run(suite)四.unittest的简单介绍及使用测试主要是调用assertEqual、assertRaises等断言方法判断程序执行结果和预 期值是否相符。常见的断言方法有:selenium对web各元素的操作首先就要先定位元素,定 位元素的方法主要有以下几种:1、通过id定位元素:find_element_by_id(“id_vaule“) 2、通过name定位元素: find_element_by_name(“name_vaule“) 3、通过tag_name定位元素: find_element_by_tag_name(“tag_name_vaule“) 4、通过class_name定位元素: find_element_by_class_name(“class_name“) 5、通过css定

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 电子/通信 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号