Selenium函数selectFrame在Xebium中不起作用

时间:2012-06-04 17:46:16

标签: selenium selenium-ide fitnesse

在Xebium测试期间尝试输入输入字段时收到以下错误:

Element belongs to a different frme than the current one - switch to its containing frame to use it

所以我尝试使用selectFrame命令:

| do | selectFrame | on | id=iframe0 |

我收到了错误:

Unable to locate frame: id=iframe0

我的测试在Selenium IDE中运行(使用和不使用selectFrame命令),没有错误。我尝试使用不同的定位器而没有Xebium的改进。难道我做错了什么?这是Xebium的问题吗?我可以使用哪种方法来获取正确的框架来输入我的数据?

2 个答案:

答案 0 :(得分:0)

我有一个类似的问题,但发现它在使用Selenium RC而不是WebDriver运行测试时有效。

我认为问题不在于Xebium本身。使用Selenium-> WebDriver兼容模式时,selectFrame()方法的问题更多。

无论如何,如果您启动自己的WebDriver-Server实例(包含Selenium RC)并将Xebium测试设置为指向它,则使用iFrame应该可以正常工作。

答案 1 :(得分:0)

我遇到了类似的问题。

我第一次在我的测试中使用selectFrame工作,但是当我需要切换到另一帧时它失败了。
我在Selenium IDE中录制了我的测试,并且在IDE中播放工作正常,但是使用Xebium格式化器然后从Xebium播放相同的测试失败了。

Xebium格式化程序给了我这个:

| do | selectFrame | on | tabs |
| ensure | do | click | on | link=Form |
| do | selectFrame | on | relative=up |
| do | selectFrame | on | menu |

因此框架“标签”上的selectFrame有效,但“菜单”上的selectFrame没有。

正如您所注意到的,在2之间是相对= up的selectFrame。这行实际上是我的测试在“输出捕获”页面中出现异常的地方,而在测试页本身中似乎跳过了2个selectFrame命令。

在选择另一个帧之前,webdriver需要返回到默认帧,这就是为什么相对= up的原因。

然后我将命令更改为:

| do | selectFrame | on | relative=top |

所有这些都像魅力一样。似乎相对= up工作不正确,但相对= top确实有效(对我来说无论如何)。希望这也适合你。