毁“三观”的Selenium自动化测试框架

 谈起软件的自动化测试,大部分测试工程师都会情不自禁的浮现起下述三种观点:

  ● 自动化测试比较高端

  刚刚展开测试职业新篇章时,往往从纯手工功能测试入手。做了一段时间的黑盒测试,渐渐对黑盒测试的重复和低效感到乏味,想让工作更有效率一点,想开展自动化测试。但对如何开展软件自动化测试没有一点点思路,没有一丝想法,从而认为自动化测试很高端,那些做自动化的测试工程师都很牛。

  ● 自动化测试脚本需要录制

  上进的测试工程师尝试着接触自动化测试工具,下载工具、按着教程step by step去录制hello world级别的演示脚本、回放一下录制生成的脚本。因为种种原因,没能对工具进行深究。一个根深蒂固的观点就此形成:自动化测试脚本一定是需要录制的,支持录制功能的工具才是“上上选”的工具!

  ● 自动化测试必须懂编程

  即使工具支持录制,为了看懂那些生成的脚本,必须要懂得相应的脚本开发语言。看现在流行的Selenium等开源自动化测试工具,要想做的更好,哪一个不需要自己编写代码啊。为了使用这些工具进行自动化测试,开发语言是必备技能。

  但,真的是这样的吗?即使过去是,现在还是这样的吗?未来还是吗?我在IBM 开发者社区看到了一篇文章《基于XML开发Selenium自动化测试框架》(下文简称《基》),提供了非常好的编写自动化测试框架的思路,可以让自动化测试工程师彻底毁掉“三观”。

  编写一个自动化测试框架需要考虑的部分很多,包括测试用例形成模块(编写、录制等)、测试结果统计报表模块、日志调试信息模块等等。《基》文主要描述了如何使用XML编写自动化测试脚本,对其余的模块描述不多,期待日后更多的文章来诠释吧。

  业务测试人员只需要编写简单的XML格式的用例脚本文件,提供测试元素定位信息,需要执行的操作等测试步骤必须的信息,从而快速完成自动化测试。测试用例形成模块(编写、录制等)、测试结果统计报表模块、日志调试信息模块等属于自动化测试框架的东西让测试开发工程师去完成。 业务测试人员不再需要熟悉编程、只关注核心业务知识就可以。不再多说,仁者见仁智者见智,不再多说,如果感兴趣就去看看《基》文吧。附上《基》中的XML格式的测试用例例子:

<SUITE>
   <SETTINGS browser='*firefox' seleniumServer='127.0.0.1'
seleniumPort='4444' application_url='http://www.google.com/'>
   </SETTINGS>
   <TEST name="在谷歌中查询IBM开发者网络社区" timeout='1'>
      <STEPS>
      <STEP index="1" type="Type.INPUT" name="在谷歌查询输入框,
输入ibm developerworks cn">
      <XPATH>//input[@name='q']</XPATH>
      <VALUE>ibm developerworks cn</VALUE>
      </STEP>
      <STEP index="2" type="Type.CLICK" name="单击查询按钮,执行查询">
      <XPATH>//input[@name='btnK']</XPATH>
      </STEP>
      <STEP index='3' type='Type.CLASS' name="测试截图函数">
      <METHOD>captureScreenshotRemote</METHOD>
      <ARGUMENT>查询后截图测试Remote</ARGUMENT>
      </STEP>
      </STEPS>
      </TEST>
</SUITE>

版权声明:本文出自 lobster 的51Testing软件测试博客:http://www.51testing.com/?194329

原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。

Posted in 使用说明.