自动化测试工具探索之Selenium

一、什么是自动化测试

      自动化测试:以人为驱动的测试行为转化为机器执行的一种过程。就是把手工进行的测试过程,转变成机器自动执行的测试过程。该过程,依旧是为了发现错误而执行。因此自动化测试的关键在于“自动化”三个字。自动化测试的内容,也就相应的转变成如何“自动化”去实现原本手工进行的测试的过程。

二、如何开展自动化测试

      A、准备测试用例

      B、找到合适的自动化测试工具

      C、用准确的编程形成测试脚本

      D、在测试脚本中对目标进行“检查”,即做断言

      E、记录测试日志,生成测试结果

三、自动化测试工具的选择

      常见的自动化测试有HP QuickTest Professional software(QTP)、WinRunner、testcomplete、AdventNet QEngineAdventNet QEngine、AutoRunner、Sikuli、Selenium等。

      其中我使用试验过的有QTP,AutoRunner,Sikuli和Selenium,其中QTP的安装与Loadrunner冲突,必须卸载一个,所以暂时放弃使用。Sikuli在之前的报告中介绍了,采用截图识别的运行机制。AutoRunner属于国产的自动化测试软件,对我们公司的系统内容框架识别不友好,暂时放弃使用。最近两周我一直在研究selenium的测试工具,后面我也将详细的介绍。对于其他没有使用过的工具,今后我都会一一去尝试,因为我一直想找到一个最适合本公司的自动化测试工具,使我们公司的测试能有自动化测试的高度。

四、SeleniumIDE自动化工具介绍

      该工具是一个用于构建脚本的初级工具,其实是FireFox的一个插件(Chrome也有),拥有一个易于使用的界面。它拥有记录功能,能够记录用户执行的操作,并可以导出为可重复使用的脚本。如果没有编程经验,可以通过Selenium IDE来快速熟悉Selenium的命令。

      自动化测试工具探索之Selenium_第1张图片

      自动化测试工具探索之Selenium_第2张图片

      SeleniumIDE的使用只需要输入地址后,点击录制按钮,然后正常的进行手工的操作,系统自动记录你的操作步骤在IDE中,稍对脚本进行修改,健壮一下脚本,运行即可完成自动化的操作,后面我也将详细的讲解。

五、SeleniumIDE和Sikuli的对比

      之前我的报告中提到了Sikuli的自动化测试工具,是通过截图的形式,他的每一步操作都需要自己去截图完成,如果有相同的图像元素在识别的时候,还需要用定位的形式完成,如果页面的按钮发生了位置变化,那么Sikuli将会出现bug,无法运行,需要修改。所以Sikuli相对于SeleniumIDE来说,相差甚远。Selenium所有的自动化脚本都是自动生成,且一行一行的分析明确,减少了大部分的时间,该工具也具有调试功能,对于运行出错的脚本,可以进行调试修改。无论是从使用便捷度来说,还是兼容性来说,都远胜于Sikuli,所以对于最适合本公司的自动化测试工具的选择,我们先排除Sikuli。

六、SeleniumIDE准备条件

      Selenium原生支持的是狐火浏览器,我用我们公司的项目在火狐浏览器上运行,发现很多的插件不支持,所以想办法在谷歌浏览器上也找打了插件。在准备的过程中,遇到了挺麻烦的问题。无论是谷歌浏览器还是火狐浏览器,创建一个project之后,进行录制脚本,点击保存按钮,无法弹出一个保存的下载框,导致录制的脚本根本无法保存,换来换去,险些放弃了这个自动化技术,后来找到了原因,是浏览器的版本和Selenium的版本不一致。Selenium3.11.0和谷歌内核65.0的版本,完美的兼容。

      自动化测试工具探索之Selenium_第3张图片

七、如何采用SeleniumIDE进行自动化测试

       这里我们大致介绍一下SeleniumIDE的运行过程。一个系统要做功能测试,首先需要的就是测试用例,在我们正常录制脚本的过程中,就可以加上测试用例,如你输入一个错误的账号密码,是否能弹出错误提示框,如果有提示框弹出,系统记录你点击这个弹出框,然后继续运行。如果账号密码错误都没有弹出框,进入了系统,而Selenium的脚本中默认是下一步展示错误的提示框,实际没有的话,脚本运行报错,并且脚本会红色标出停留在这行脚本上。当自动化脚本运行中断了,则表明测试用例不通过,那么系统的问题不就暴露出来了吗?

 

你可能感兴趣的:(自动化测试学习资料)