我在使用Selenium2测试IE6时遇到了这个问题。我使用Perl绑定(Selenium::Remote::Driver)但我会非常感谢任何建议,即使他们来自有Selenium for Java等经验的人。
问题在于,当我尝试这样做时:
my %opt = (
browser_name => 'internet explorer',
version => '6',
platform => 'WINDOWS',
proxy => {
proxyType => 'direct',
}
);
my $driver = Selenium::Remote::Driver->new(%opt);
$driver->get('http://www.google.com');
my $elem = $driver->find_element('gs_htif0', 'id');
$elem->send_keys('fooooooo');
浏览器打开,但随后测试消失了An element could not be located on the page using the given search parameters: gs_htif0,id at ...
消息,而在IE7中一切正常,IE驱动程序的文档说IE6已经过测试
之后我尝试用"seleniumProtocol": "Selenium"
启动一个节点,我认为这是测试任何没有驱动程序的浏览器的选项,因此可以用旧的“JavaScript模拟”方式测试它。用户操作,但随后浏览器根本没有启动,测试因消息java.lang.NullPointerException: sessionId should not be null; has this session been started yet?
我的hub-config是:
{
"host": null,
"port": 4444,
"newSessionWaitTimeout": -1,
"servlets" : [],
"prioritizer": null,
"capabilityMatcher": "org.openqa.grid.internal.utils.DefaultCapabilityMatcher",
"throwOnCapabilityNotPresent": true,
"nodePolling": 5000,
"cleanUpCycle": 5000,
"timeout": 300000,
"browserTimeout": 0,
"maxSession": 5
}
我的node-config是:
{
"capabilities":
[
{
"platform": "WINDOWS",
"browserName": "internet explorer",
"version": "6",
"seleniumProtocol": "WebDriver",
"ensureCleanSession": true
}
],
"configuration":
{
"proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
"maxSession": 1,
"port": 5555,
"host": "192.168.1.6",
"register": true,
"registerCycle": 5000,
"hubPort": 4444,
"hubHost": "192.168.1.34"
}
}
start node命令为java -jar selenium-server-standalone-2.29.0.jar -role node -nodeConfig node_ie6_conf.json -Dwebdriver.ie.driver="IEDriverServer_2.29x32.exe" > nul
启动集线器命令为java -jar selenium-server-standalone-2.29.0.jar -role hub -hubConfig hub_conf.json &> dev/null
任何人都可以帮助我吗?我的谢意。
更新 对于我的问题的第二部分,我认为Selenium :: Remote :: Driver仅适用于webDriver协议,但我不确定
答案 0 :(得分:0)
对于我的问题的第一部分,答案是“是的,这是可能的”。假设一个人正确设置了hub,node和InternetExplorerDriver,她只需要在IE设置窗口的“安全”选项卡中配置安全设置(打开服务 - >互联网选项)。在那里,她必须将滑块向下移动一点,为“本地内联网”设置“中等”级别。
很抱歉截图不是英文的,但我没有英文版的XP,我想很清楚在哪里找到这个:
在我改变安全设置之后,我立即在IE7中遇到同样的问题后,我意外地找到了答案,所以它暗示我在哪里寻找。
但第二部分how to use "selenium protocol"
仍未解决。