我不确定我是否完全理解其中的区别。WebDriver API还直接控制选择的浏览器。什么时候应该使用selenium遥控器(selenium RC)?
现在,我目前的情况是通过编写带有Selenium WebDriver API的套件并使其在我的计算机上运行来测试Web应用程序。测试花费的时间越来越长,因此我一直在寻找在Linux服务器上运行测试的方法。
如果我使用Selenium Remote Control,这是否意味着我必须重写用WebDriver API编写的所有内容?
我对Selenium Grid,Hudson和Selenium RC感到困惑。我为Hudson找到了一个Selenium Grid插件,但不确定是否包括Selenium RC。
我走的路线正确吗?我设想以下架构:
我认为这比在我当前使用WebDriver API的台式计算机上运行测试要省时得多。
据我了解,Webdriver的实施开始于Selenium RC才开始。在我看来,WebDriver是更灵活的解决方案,它解决了SeleniumRC的一些烦人的问题。
WebDriver提供了用于测试Web GUI的标准界面。该接口有几种实现方式(HTTP,特定于浏览器并基于Selenium)。由于您已经有一些WebDriver测试,因此您必须熟悉像这样的基本文档
测试的完成时间越来越长,因此我一直在寻找在Linux服务器上运行测试的方法。
您是否尝试找到实际的瓶颈?我不确定,消除WebDriver层是否有帮助。我认为,大多数时间都花在Selenium命令发送和HTTP请求到被测系统上。
如果我使用slenium遥控器,是否意味着我必须重写用WebDriver API编写的所有内容?
通常,是的。如果您没有在测试代码和WebDriver之间实现一些附加层。
至于Selenium Grid:您可以在几个不同的[虚拟]节点上启动几个Selenium RC实例,然后在Selenium Grid中注册它们。您的测试将连接到Selenium Grid,它将所有命令重定向到SeleniumRC实例,并根据所需的浏览器进行协调。
有关hudson插件的详细信息,您可以在此处找到更多信息