代码之家  ›  专栏  ›  技术社区  ›  Patrick Cornelissen

Selenium每个测试类有多个baseURL

  •  4
  • Patrick Cornelissen  · 技术社区  · 14 年前

    我正在一个复杂的基于Web的应用程序上编写Selenium脚本。

    要使用用户帐户,我需要先使用一个URL注册,然后在管理控制台中的另一个URL上批准该帐户。

    问题是注册和管理控制台还有另一个baseurl,我需要在一个UnitTest中使用它。

    但是当我在测试中使用setbaseurl时,它会被忽略,使用旧的baseurl。我甚至在那之后调用了start(),但没有更改…

    我不知道有什么把戏吗?我在这个问题上花了相当长的时间进行调试,但是分离(test<->rcserver)Selenium测试并不能使您更容易地完成……;-)

    2 回复  |  直到 14 年前
        1
  •  3
  •   Moritz Both    14 年前

    既然您标记了这个Selenium RC,我假设您使用RC。

    只需在测试客户机中使用两个单独的Selenium实例。在一个类中应该只有一个Selenium实例是没有原因的。在我看来,这甚至更清楚,因为你在和两个不同的用户界面交谈。

    在服务器端,您仍然只需要一个。如果请求使用两个客户机实例启动两个浏览器实例,服务器将很高兴地启动它们。

    莫里兹

    编辑:只需添加此内容,即可随时创建Now Selenium实例

    Selenium s = new DefaultSelenium("localhost", 4444, "*chrome", 
                "http://your-target-url");
    

    假设Selenium服务器位于本地主机端口4444上。

        2
  •  1
  •   Patrick Cornelissen    14 年前

    好的,硒似乎不是为这种工作流程而构建的。

    我把测试课分成三个测试班。

    1. 使用First BaseURL进行基本注册
    2. 使用seconf baseurl审批
    3. 再次使用一垒URL的简单任务

    这不像将这些东西包含在一个测试用例中那么干净,因为从业务的角度来看,它属于一个整体。但至少它是有效的,我不必为它而去黑硒。