在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的问题吗?我可以使用哪种方法来获取正确的框架来输入我的数据?
答案 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确实有效(对我来说无论如何)。希望这也适合你。