通过研究selenium-webdriver的源码,笔者发现其实webdriver的实现原理并不高深莫测无法揣度.在这里以webdriver ruby binding的firefox-webdriver实现为例,简单介绍一下webdriver的工作原理. 当测试脚本启动firefox的时候,selenium-webdriver 会首先在新线程中启动firefox浏览器.如果测试脚本指定了firefox的profile,那么就以该profile启动,否则的话就新启1个profile,并启动fire…