【问题标题】:Selenium test on a GWT app - request not sent to serverGWT 应用程序上的 Selenium 测试 - 请求未发送到服务器
【发布时间】:2009-02-05 02:11:10
【问题描述】:

我正在为 GWT 应用程序编写硒测试。它使用鼠标悬停/ mousedown/mouseup 方法来点击按钮。它点击登录 我的应用程序的按钮,它调用包含用户 ID 的 div 和 密码输入字段,这工作得很好。然后它输入一个用户标识和 密码,然后单击登录表单的提交按钮。

如果我运行缓慢,我可以看到按钮点击,但请求永远不会 被发送到服务器(我在看电线)。

事实上,如果 selenium IDE 仍然打开,我手动点击 按钮,请求未发送。如果我然后关闭 selenium IDE 并点击按钮,请求顺利通过。

有人看过这个吗?看起来真的很奇怪。

更新:

Firebug 显示脚本错误。显然,selenium 脚本与 GWT 脚本有些冲突。这是错误的开始,但整个过程相当冗长:

[异常...“'com.google.gwt.core.client.JavaScriptException: (TypeError): 结果为空文件名: chrome://selenium-ide/content/recorder.js lineNumber: 74 堆栈: ( [object XMLHttpRequest],"POST","http://localhost:8080/login",true)@chrome://selenium-ide/content/recorder.js:74 XPC_SJOW_CallWrapper((function (url, windowName, windowFeatures, replaceFlag) {if (self .openCalled) {return self.originalOpen.call(window, url, windowName, windowFeatures, replaceFlag);} else {self.o

【问题讨论】:

  • 您运行的是什么版本的 GWT,旧版本中的 Selenium 存在一些已知问题

标签: gwt selenium


【解决方案1】:

好的,我找到了答案。这有点尴尬,但它提供了答案,也很有趣。我会分享答案,这样你就可以避免这个问题,也许可以嘲笑我的付出。 :)

答案是你必须编译成 OBF 而不是 PRETTY。下面列出了所有相关链接。他们充分解释了这个问题,以及如何避免它。

这有什么好笑的?好吧,当我进行搜索时,我终于找到了下面的第一个链接。几乎立刻,我意识到,或者至少有一个偷偷摸摸的怀疑,我以前解决过这个问题。果然,原来的问题是10月份发的,我是发帖人。所以,我之前得到了一个答案,完全忘记了。呃,好吧。希望答案对某人有所帮助,我的漫画不幸照亮了你的一天。

http://clearspace.openqa.org/message/50170

http://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread/5d6a9c448a82b916/af62e5877237b107?lnk=raot

http://code.google.com/p/google-web-toolkit/issues/detail?id=2861

【讨论】:

    【解决方案2】:

    也许你可以试试 clickAt 或 mouseDownAt,它们的表现似乎有点不同。

    【讨论】:

    • 不是按钮被点击的问题。它正在被点击,我知道那部分正在工作。这是底层 ajax 调用失败。
    • 酷。这是一个棘手的问题。如果我弄明白了,我会发布更新。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-03
    • 2013-06-05
    • 2018-03-11
    • 1970-01-01
    相关资源
    最近更新 更多