Selenium每个测试类不止一个baseUrl

时间:2010-05-10 15:43:27

标签: php selenium selenium-rc

我正在基于复杂网络的应用程序上编写selenium脚本。

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

问题是注册和管理控制台还有另一个baseURL,我需要在一个单元测试中。

但是当我在测试中使用setBaseUrl时,它会被忽略并使用旧的baseURL。之后我甚至打电话给start(),但没有改变......

有没有我不知道的伎俩?我正在玩这个问题已经调试了很长一段时间,但是解耦(测试< - > RCServer)硒测试并没有让它更容易一步一步......; - )

2 个答案:

答案 0 :(得分:3)

由于你标记了这个selenium-rc,我假设你使用了rc。

在测试客户端中使用两个单独的selenium实例。你没有理由在一个类中只有一个selenium实例。由于您正在与两个不同的用户界面交谈,因此我认为这更加清晰。

在服务器端,您仍然只需要一个。如果要求使用两个客户端实例,服务器将很乐意启动两个浏览器实例。

Moritz的

编辑:只需添加此项,就可以随时使用

创建现在的selenium实例
Selenium s = new DefaultSelenium("localhost", 4444, "*chrome", 
            "http://your-target-url");

假设selenium服务器位于localhost端口4444上。

答案 1 :(得分:1)

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

我已将测试类拆分为三个测试类。

  1. 使用first baseUR进行基本注册
  2. 使用seconf baseURL批准
  3. 再次使用第一个baseURL的简单任务
  4. 这不像在一个测试用例中包含这些东西一样干净,因为它从业务角度来看属于一个整体。但至少它是有效的,我不必为此劈砍硒。