1、用户仿真:Selenium在浏览器后台执行,它通过修改HTML的DOM(文档对象模型)来执行操作,实际上是通过javascript来控制的。执行时窗口可以小化,可以在同一机器执行多个测试。QTP完全模拟终端用户,独占屏幕,只能开启一个独占的实例。TestComplete和qtp类似。
  2、UI组件支持:selenium 支持主要的组件,但是某些事件、方法和对象属性支持不够,QTP提供了良好的支持,通过收费的插件,提供了对dotNet组件的支持。
  3、UI对象的管理和存储:QTP的内置了良好的支持。Selenium可以通过用户扩展UI-Element来管理,不过要在代码中写死,不像QTP一样可以自动录制添加。
  4、对话框支持:QTP支持各种IE对话框,Selenium只是部分支持,像获取对话框的标题之类的功能并没有支持。
  5、文件上传:Selenium由于JavaScript的限制不支持。QTP的提供了良好的支持。
  6、浏览器支持:QTP支持IE和Firefox。Selenium支持IE, Firefox, Safari和Opera等,两者都没有完全的跨浏览器支持,代码在不同浏览器上是需要修改的。
  7、对象识别参数,基于所见即所得识别: WYSWYG (what you see is what you get),Selenium不支持。QTP的提供了良好的支持。这个和第一点基本上是一回事。
  8、面向对象语言和扩展性支持(和外部工具和库的集成):QTP不支持。Selenium的提供了良好的支持。Selenium支持python,java,c#。
  9、与测试管理啊工具集成:QTP和可以 HP Quality Center and TestDirector集成。Selenium暂不支持WEB。
  10、支持的应用类型:QTP支持(DotNet,VB, Powerbuilder, TCL/TK)等,Selenium支持WEB。
  11、支持的操作系统/平台:Selenium支持python,java,所以可以跨平台。QTP只支持Windows。
  12、脚本创建难易:QTP相当容易,Selenium要难一点,但是也还可以。
  13、技术支持:QTP的要多好一点。
  14、成本:QTP大概是淡季5000美金,Selenium免费。
  15、测试开发环境:Selenium更丰富。
  16、开发流程集成:QTP不支持,Selenium可以容易使用cruise工具等。
  17、小结:以上Selenium 1.*和QTP的比较。Selenium正在飞速发展之中,集成了Webdriver的Selenium 2.0正式版本将在2011推出,届时将会解决上传文件等很多不足。Selenium估计在5年内会成为Web测试市场的霸主,QTP因其可用性和良好的支持,也会继续存在。