使用一种解决方法来检查新选项卡的内容,我得到了意想不到的结果。如果我播放测试用例,以下行将失败:
storeEval | javascript{"selenium.browserbot.getCurrentWindow().open('', 'my_window')"} | my_window
带有以下错误消息:
[error] Threw an exception: result is null
以下替代语句显示完全相同的症状:
getEval | window.open("", "my_window")
getEval | selenium.browserbot.openWindow("", "my_window")
现在,如果我双击它,它不会失败,但它会打开一个新窗口,我认为原始解决方案并不打算这样做(下一步是单击父窗口中的链接,毕竟)。此时我可以点击父窗口,手动运行下一步启动链接,手动改回子窗口(selectWindow | my_window
说找不到那个窗口),然后手动运行以下每个步骤来检查新窗口的内容。
我如何从这里开始使测试正确自动化?
更新:有一个用于打开窗口的内置操作,但它也失败了。也许这个逐字记录输出可以揭示正在发生的事情:
[info] Executing: |store | license_window | windowName |
...
[info] Executing: |openWindow | | ${windowName} |
[error] Unexpected Exception: fileName -> chrome://selenium-ide/content/recorder.js, lineNumber -> 74
recorder.js 中的相关行:
66: window.open = function(url, windowName, windowFeatures, replaceFlag) {
...
74: if (result.wrappedJSObject) {
75: result = result.wrappedJSObject;
76: }