Python自动化-精品文档_第1页
Python自动化-精品文档_第2页
Python自动化-精品文档_第3页
Python自动化-精品文档_第4页
Python自动化-精品文档_第5页
免费预览已结束,剩余3页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Python自动化随着人工智能的开展,机器代替人工,已经是未来开展的一种趋势,人工智能需要编程语言来实现,而Python语言在这方面有极大的优势,本篇文章主要介绍Python语言在自动化方面的应用.1概述自动化测试是指软件测试的自动化,软件测试就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件.自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程.在做自动化测试之前,首先应该知道什么场景适合做自动化测试,由于并不是所有工程都适合做自动化测试的,工程满足以下条件才可以进行自动化测试:1.1 需求稳定为什么要求需求稳定呢?在一个工程组中如果需求经常变动的话,程

2、序代码也要做相应的改动,一旦需求改动,测试人员所写的测试用例也要做对应的修改,测试用例修改了,测试用例对应的自动化测试脚本也要进行调整,而对自动化脚本的维护修改,需要花费大量的人力物力,自动化的一个主要目的就是节省人力本钱,把人解放出来做更多的事情,重复的事情交给自动化的代码实现,但如果代码需要经常维护,人力就不能更好的解放出来,这就和自动化的目的相违背.当然并不是说一个工程的需求不稳定,就意味着完全不能自动化测试了,对于某些功能文档的模块,我们还可以进行自动化测试,变动频繁的采用黑盒测试的方法,可以成为半自动化测试.这就要求结合具体的工程做具体的分析,选用对应的方法.1.2 工程周期较长自动

3、化测试框架的选择、设计、评审,脚本的编写以及调试都需要一定的时间来完成,而这一过程根本可以理解为软件开发的过程,这样的一个周期是很长时间的,如果工程的周期很短,自动化测试的框架还没确定好选取哪个,工程就要上线运行,那么就无法开展自动化测试.1.3 编写的自动化测试脚本复用度较高经过一个相对较长的周期完成一个自动化测试脚本的编写,但是这些脚本只在上线前可以做回归测试使用,以后再无用武之地,这样的脚本复用度是很低的,是不符合现代化要求的,既然花那么大的本钱开发一套脚本,就要有很强的复用性,这就要求在其他相似的工程中,对自动化测试的脚本稍加改动,也能起到作用,这样的脚本才能真正发挥它的价值,被广泛地

4、接受.如果有些功能测试需要花费大量的时间才能完成,就要想办法引入自动化测试,尤其是大数据量的测试,这些操作如果用人工测试的话,不仅花费时间精力,而且最后测出的结果还不一定准确,所以,遇到这样的操作就要考虑引入自动化测试.我们所写的自动化脚本选择python语言,那么多语言可以使用,为什么偏偏选用python语言.首先Python是一种解释型的、面向对象的、动态数据类型的高?程序设计编程语言.解释型,也就意味着开发过程中没有了编译源码这个环节;面向对象,那么意味着Python支持面向对象的风格或代码封装在对象的编程技术.另外,其交互性意味着可以在一个Python提示符后,直接互动写和执行程序.此

5、外python语言还具有以下优点:看起来容易:该语言写的代码顺序简单清楚,可以顺着自己的思路写代码,让稍微懂一些语法的人都能很容易的读懂代码.改起来方便:Python的源代码不仅写起来容易,而且还有一大优点就是维护起来很方便.较强的互动模式:具有很强的互动模式的支持,用户可以从任意终端输入任何结果正确的语言,让互动的测试和调试代码片断.可扩展性:在使用的过程中可以添加低层次的模块到Python解释器中.这些模块使得程序员可以添加或定制自己的工具,更有效,更方便.具有广泛的标准库:Python有一个很大的优势就是散装库是非常方便的、跨平台上的linux系统,Windows系统和Macintosh

6、系统兼容.2自动化测试的优势在人工智能越来越重要的今天,自动化的推广显得更加重要,同样在软件测试中推行自动化测试也是势在必行的,自动化测试有以下几方面优势:2.1 大大节省回归测试的效率在每一次上线前或者复测bug的时候都需要把整个系统的业务流程都跑一遍,这样的测试我们就可以称为回归测试,回归测试的测试用例是固定的,而且量很大,此时再进行人工的回归测试,会花费很多的时间,而且人都在做重复的操作,难免是人力的极大浪费,此时引入自动化测试,可以大大的节省人力本钱,提升工作效率.2.2 可以高效率的执行繁琐的重复性的测试自动化测试相对于人工测试的一个明显的优点就是执行效率高,测试人员在重复测试某个功

7、能时会逐渐出现厌倦感,从而可能降低测试的效率,影响测试的效果,而自动化测试就不会有这方面的顾虑,代码去执行测试,执行的过程都是根据预设好的步骤代码去执行,最终测试人员只要看代码即可.2.3 能完成一些人工测试不能完成的测试在测试数量较大且有随机性特点的数据时,人工测试就不好完成,此时使用自动化测试,随机取一些没有规律的数据,就可到达模拟真实用户测试数据的目的.2.4 自动化测试可以重复执行且具有一致性自动化测试的脚本根本是固定的,在需要测试的时候,执行下一脚本即可执行测试,这样可以反复执行屡次,在需要的时候执行脚本即可完成测试.由于自动化测试的脚本是固定的,每次执行的内容和执行的结果的一致性是

8、可以保证完全一样的.2.5 更好地利用人力资源将繁琐的测试工作任务自动化,可以提升测试的准确性,也可以将测试技术人员解脱出来将更多精力投入到设计更好的测试用例中O有些测试工程模块不适用于自动测试,将可以执行自动测试的测试执行自动化测试之后,让其余测试人员专注于不能自动化测试的局部,从而提升手工测试的效率.图1展示了在工程中自动化测试的流程.3实验过程3.1 环境配置实验所需环境Windows764位操作系统,python2+seleniun2,所用工具Pycharm45.0.2版本的火狐浏览器,以及火狐浏览器的插件Firebug、FirePathSeleniumBuilderc3.2 技术分析

9、Selenium是web应用程序自动化测试工具集,包括IDE、Grid、RC(selenium1.0)、WebDriver(selenium2.0)等,是直接运行在浏览器中,模拟用户在操作,具有很强的真实感.目前支持的浏览器包括IE系列、火狐浏览器、谷歌浏览器等.这个工具主要有以下功能:浏览器的兼容性测试-模拟应用程序在IE浏览器、火狐浏览器、谷歌浏览器的运行情况,得出最终结果,查看哪个浏览器兼容性更好.测试整个系统的功能-创立回归测试检验软件功能是否到达用户需求.支持自动录制,录制工具采用seleniumIDE,录制完可以自动生成代码,节省人力本钱,并且支持其他不同语言的测试脚本.Selen

10、ium是专门为Web应用程序编写的一个验收回归测试的工具.使用python语言写自动化应用到了该语言的类和方法以及对数据类型列表、元组、字典、字符串的常用操作,以及常用的if判断语句for、while循环语句,其中用到了该语言的面向对象的特点(继承、多态、封装).在用Pythonselenium实现自动化测试的工程中最重要局部就是定位页面元素,常用的定位页面元素有8种方法以及这八种方法的复数形式,如果是通过复数定位到的元素那么会定位到一组元素,这八种方法包含:通过id查找元素、通过nameS找元素、通过classname查找元素、通过tagname查找元素、通过link_text查找元素、通过

11、partial_link_text查找元素、通过xpath查找元素、通过css选择器查找元素,其中除了xpath和css选择器外,其他都是可以在页面中通过F12查看到的,而xpath和css是一?N特殊的语法.importwebdriver导入所需的框架,当然在导入前,需要进行安装.webdriver.Firefox()自动翻开火狐浏览器,这里就对火狐浏览器的版本有要求,版本必须低于火狐46,否那么不能自动翻开浏览器,selenium默认支持火狐浏览器,如果需要在IE浏览器或者谷歌浏览器那么需要下载对应的驱动.下面展示了局部代码:driver.get("s:/")在火狐浏览器中自动输入百度的网址并翻开driver.find_element_by_id("kw"),send_keys(u"2021高考")获取百度搜索框并自动输入2021高考,当然还可以输入你需要搜索的任何内容find_element_by_id("su"),click()定位到百度一下按钮并自动点击该按钮进行搜索close()然后使用该方法自动关闭浏览器,否那么运行次数多的时候,系统会卡掉.find_element_by_xpath("/*id='kw'")此行代码是通

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论