我被告知要使用一个通过以下约定使用selenium的框架:
public static SeleniumClient instance() {
if (_instance == null) {
_instance = new SeleniumClient();
LogHelper.instance().setInfo("SeleniumClient::instance(): Singleton created.");
}
return _instance;
}
所有测试都以类似的方式编写。例如,如果我正在创建一个新测试,我会编写一个帮助类,这将是它的使用方式:
public static PropertyManagerHelper instance() {
if (_instance == null) {
_instance = new PropertyManagerHelper();
LogHelper.instance().setInfo("PropertyManagerHelper::instance(): Singleton created.");
}
return _instance;
}
我有一个selenium网格,我打算也发送这些测试。在我走得太远之前,我有这些问题:
Selenium如何将测试发送到网格?它是发送整个班级/测试还是将每个动作作为单独的请求发送?
上一个问题可能会回答这个问题,但这种静态用法会阻止testng运行多个并行测试吗?
答案 0 :(得分:0)
为什么是Singleton模式?
它的当前状态不是线程安全的:
http://csharpindepth.com/Articles/General/Singleton.aspx
我不建议使用Singleton模式。
答案 1 :(得分:0)
它发送每个命令。 Selenium不了解它是测试用例还是类。 Hub将获取命令并在远程控制中分发。