,本作品采用,知识共享署名,-,非商业性使用,2.5,中国大陆许可协议,进行许可。,专业交流,模板超市,设计服务,本作品的提供是以适用知识共享组织的公共许可(简称“,CCPL”,或“许可”)条款为前提的。本作品受著作权法以及其他相关法律的保护。对本作品的使用不得超越本许可授权的范围。,如您行使本许可授予的使用本作品的权利,就表明您接受并同意遵守本许可的条款。在您接受这些条款和规定的前提下,许可人授予您本许可所包括的权利。,查看全部,NordriDesign,中国专业,PowerPoint,媒体设计与开发,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,自动化测试技术课件,1,自动化测试技术课件,自动化测试技术课件,自动化测试技术课件,哪些能自动化?,软件需求变动不频繁,测试脚本的稳定性决定了自动化测试的维护成本,如果变动过于频繁,维护成本太高。,项目周期足够长,若项目周期太短,或是紧急上线的新功能,新产品是不适合去用自动化测试的。,自动化测试脚本可重复使用,若自动化脚本利用率不高,测会造成人力的浪费。,哪些能自动化?软件需求变动不频繁,自动化工具介绍,P,HPU,nit,简介,PHPUnit,是一个轻量级的,PHP,测试框架。它是在,PHP5,下面对,JUnit3,系列版本的完整移植,是,xUnit,测试框架家族的一员,(,它们都基于模式先锋,Kent Beck,的设计,),。,类似的其他语言的还有,JUNIT,(,java,),,NUNIT(c#),,,UNITTEST(python),以及,Rspec(Ruby).,自动化工具介绍PHPUnit 简介,PHPUNIT,的安装,方法一:使用,Pear,运行,pear channel-discover pear.phpunit.de;,pear install phpunit/PHPUnit,方法二:手动安装,1,从,pear.phpunit.de/get/,下载软件包并解压,2,把解压后的目录加入,php.ini,中的,include_path,3,将脚本,pear-phpunit,改名为,phpunit,4,将,phpunit,脚本中的,php_bin,替换成,php,可执行脚本的路径,5,为,phpunit,脚本增加可执行权限并加入,$PATH,6,将,PHPUnit/Runner/Version.php,中的,package_version,替换成,3,位 版本号。,PHPUNIT的安装,测试用例的结构,setBrowser(*chrome);,$this-setBrowserUrl(weibo/);,测试用例的结构,public function testMyTestCase(),/,具体测试工作,$this-open(/);,$this-click(css=body);,public function tearDown(),/,清除工作,$this-selenium-stop();,?,public function testMyTestCas,断言常用的有:,assertLocation,(判断当前是在正确的页面)、,assertTitle,(检查当前页面的,title,是否正确),assertValue,(检查,input,的值,,checkbox,或,radio,,有值为,”on”,无为,”off,),assertSelected,(检查,select,的下拉菜单中选中是否正确),assertSelectedOptions,(检查下拉菜单中的选项的是否正确),assertText,(检查指定元素的文本),assertTextPresent,(检查在当前给用户显示的页面上是否有出现指定的文本),断言常用的有:,assertTextNotPresent,(检查在当前给用户显示的页面上是否没有出现指定的文本),assertAttribute,(检查当前指定元素的属性的值),assertTable,(检查,table,里的某个,cell,中的值),assertEditable,(检查指定的,input,是否可以编辑),assertNotEditable,(检查指定的,input,是否不可以编辑),assertAlert,(检查是否有产生带指定,message,的,alert,对话框),waitForElementPresent,(等待检验某元素的存在。为真时,则执行。,),assertTextNotPresent(检查在当前给用户显,Selenium,介绍,Selenium,是,ThroughtWorks,公司一个强大的开源,Web,功能测试工具系列,,1.Selenium,可以使用录制工具录制脚本,测试页面。,2.Selenium,可以生成类PHP代码,,html,代码,,java,代码,,ruby,代码等。,3.Selenium,录制工具根据,id,属性定位,html,元素。,4.Selenium IDE,仅支持,Selenium,语言。,5.Selenium RC,支持很多语言,如:PHP,,C#,Java,Python,Ruby,等。,Selenium介绍Selenium 是ThroughtWo,Selenium+PHPUNIT,环境的结合,1,,安装,Firefox,Selenium IDE,插件,,Firebug,插件,2,,解压,Selenium,的,selenium-remote-control,包,得到一个服务器,或者在线安装:,pear install phpunit/PHPUnit_Selenium,3,,下载,Selenium-RC,selenium.googlecode/files/selenium-server-standalone-2.22.0.jar,安装,selenium server:,只要安装了,jdk1.6,或,1.7,都可以运行,selenium-server,,在命令行输入,:,java-jar selenium-server-standalone-2.22.0.jar,Selenium+PHPUNIT环境的结合1,安装Firef,测试用例编写及测试过程,测试脚本的录制,用,Selenium,录制测试操作,并转化成,PHPUNIT,脚本,保存成对应该的文件。在要检测的地方,加上适当的,Assert,语句。,运行,Selenium Server,服务器,在,CMD,窗口是运行命令:,java-jar selenium-server-standalone-2.22.0.jar,调试测试脚本,另外开一个,CMD,窗口,进入测试脚本所在目录,运行:,phpunit,测试文件名,.php,测试用例编写及测试过程测试脚本的录制,根据运行结果,查找原因。分析一下是测试脚本的原因,或是被测试对象的原因。如果是脚本的原因,修改测试脚本,如果是被测试对象的问题,就查找程序的原因。,根据运行结果,查找原因。分析一下是测试脚本的原因,或是被测试,编写自动化用例中应注意的问题,测试对象的定位,在,WEB,级测试的过程中,最麻烦的是测试对象的定位。,Selenium,有很多定位的方法,请自行学习。有个注意事项:如果要定位新打开窗口中的元素,必须先选定新窗口:,selectWindow,()。,测试对象的扫描,在测试用例执行的过程中,有的时候由于页面刷新的原因,可能出现找不到的情况,这个时候加些儿必要的,Sleep(),语句。,编写自动化用例中应注意的问题测试对象的定位,Selenium,函数和,Assert,语句的选择,(,1,),Selenium API,函数参考手册,(,2,),Selenium,入门:,.csdn/chinabluexfw/article/details/7331359,(,3,),Assert,语句介绍,思想之地:,be-evil.org/tag/phpunit,phpunit-assert,系列函数:,.sina/s/_5d2184eb0100n9z1.html,Selenium 函数和Assert语句的选择,测试用例编写规范,在测试用例编写的过程中,一定要加上注释。最少要定位到函数级,在关键的语句前一定要加上注释。,扩展资料:,软件测试网:,51testing/html/index.html,开源中国社区:,oschina/project,未来发展,在测试用例编写完成后,要接入公司现有的测试用例管理框架,weilink,汇总运行结果,还可以发给相关人员!,测试用例编写规范,目前编写的自动化用例介绍,关系冒烟测试的自动化,下面请杜杰同学先来介绍自动化测试用例。,目前编写的自动化用例介绍关系冒烟测试的自动化,谢 谢 大 家!,谢 谢 大 家!,谢谢,自动化测试技术课件,21,