我正在基于复杂网络的应用程序上编写selenium脚本。
要使用useraccount,我需要先使用一个URL注册,然后在另一个URL的管理控制台中批准该帐户。
问题是注册和管理控制台还有另一个baseURL,我需要在一个单元测试中。
但是当我在测试中使用setBaseUrl时,它会被忽略并使用旧的baseURL。之后我甚至打电话给start(),但没有改变......
有没有我不知道的伎俩?我正在玩这个问题已经调试了很长一段时间,但是解耦(测试< - > RCServer)硒测试并没有让它更容易一步一步......; - )
答案 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似乎不是为这种工作流程而构建的。
我已将测试类拆分为三个测试类。
这不像在一个测试用例中包含这些东西一样干净,因为它从业务角度来看属于一个整体。但至少它是有效的,我不必为此劈砍硒。