我正在尝试使用Selenium RC和用Java编写的测试用例为Web应用程序创建一个完全自动化的测试套件。但是,我遇到了一些我无法解决的问题。如果您对这些问题有任何建议,请与我们联系。
单窗口模式。我想运行单窗口模式,因为我认为它将提供显着的性能改进,并可能解决问题2.我能够在单窗口模式下使用Firefox运行我的测试用例,一切都按预期工作,执行速度更快。但是,在使用Internet Explorer的单一窗口模式时,我无法执行我的测试用例。按钮点击根本不起作用,因此测试失败,因为浏览器从未进入下一个屏幕。完全相同的测试用例在多窗口Internet Explorer中执行正常。我可以使用某种技巧来实现这项工作吗?
在多窗口模式下运行时,如果测试中出现错误,或者用户退出Selenium GUI窗口,则浏览器永远不会关闭。我知道有可能获取进程ID并将其终止,但这似乎相当危险,特别是如果用户正在运行浏览器的多个实例。这是我想使用单窗口模式的部分原因,如果可能的话。有没有其他方法,可能通过处理Selenium GUI的窗口关闭事件来解决这个问题?
我无法在任何测试脚本中使用waitForPageToLoad命令,因为它永远不会识别页面已加载并继续执行。我认为这是因为页面使用Javascript,但我不确定;我在网页开发方面没有太多经验。现在,我正在使用wait命令并指定等待的时间。但是,这是非常不可靠的,有时如果Internet连接速度很慢,我的测试会因为等待时间不够长而失败。其他时候,由于等待时间过长,测试速度过慢。关于如何处理这个问题的任何想法?
谢谢!我感谢您给出的任何答案或建议。如果您想了解更多信息,请与我们联系。
答案 0 :(得分:1)
对于多寡妇关闭问题,您需要处理异常。调用finally块中的close函数将解决窗口关闭问题。
对于页面刷新,您需要手动检查并调用正确的位置。通常单击链接将导致页面刷新,然后显示下一个屏幕。
答案 1 :(得分:1)
您是否尝试过IE HTA模式?当我以前搞乱这些东西时,它是在IE上运行测试的唯一可靠方式。
不确定
您需要使用wait class。本质上,你做一个动作,然后轮询一个尚未出现的元素,但你知道将继续测试的安全性。所以你只需等待所需的最短时间。