2011-11-08 38 views
0

我使用硒RC-Java-Eclipse自动化我的项目,虽然它是新的。 我在我的应用程序中有2个选项卡,一个输入详细信息并保存,第二个将打开一个新窗口来执行某些任务。 我在iexplore中运行我的硒代码。 当硒点击第二个选项卡时,显示javascript错误,这应该打开一个新窗口。硒RC是不是打开新的IE窗口,而不是抛出JavaScript错误

selenium.click("link=Link/Unlink"); 

Javascript error: Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) Timestamp: Tue, 8 Nov 2011 09:08:43 UTC

Message: Object doesn't support this property or method Line: 383 Char: 2 Code: 0 URI: http://172.20.160.136/scripts/common.js

我在赶时间,使其自动....但它阻止我加载新的窗口......请建议做什么。

回答

0

我也有类似的情况,我会点击一个按钮,打开一个新的弹出窗口,做一些东西在那里,等,这是我如何做,

selenium.click("//td[@id='openNew']"); 

selenium.waitForPopUp("", DEFAULT_TIMEOUT); 
String[] windowNames = selenium.getAllWindowNames(); 
assertEquals(2, windowNames.length); 
selenium.selectWindow(windowNames[1]); 

也许你不等待窗口打开,然后不选择它可能有一些JS链接右边的窗口..和你的控制仍然是原来的窗口上,之所以错误..

+0

只是补充,DEFAULT_TIMEOUT仅仅是一个恒定的我在文件中指定以毫秒为单位的值来定义,然后我断言将有2个窗口,即1个主窗口(索引0)和1个弹出式(指数1) ,然后我选择窗口索引1,这是我的弹出窗口。 – Ash

+0

谢谢阿什利。我只是直接使用ur代码,除了selenium.click ...但相同的结果再次 - 新窗口不打开时点击标签!并在主窗口的状态栏javascript错误.DEFAULT_TIMEOUT =“40000”。我需要做任何操作... PLZ告诉我怎么能克服它.. – Deputy

+0

@ user1035170 - 你是否仍然有同样的错误?我相信你确认应用程序直接访问时运行良好。对我来说,看不到你的代码很困难。让我们来看看..哪个窗口链接到common.js?主要还是弹出窗口?如果在主页面上,那么你可能在页面末尾有js文件的链接,并且在页面完全加载之前点击链接。如果是这种情况,那么你可以尝试在点击链接之前放置一个waitForPageToLoad。就像我说的很难提供一个解决方案,而不看你的代码。 – Ash

0

您的应用程序被打破了。 scripts/common.js不是硒的一部分。将错误报告给应用程序开发人员。

+0

如果在手动执行时发现错误,我可以记录它。但它的工作正常,当手动点击标签,并打开我想要的弹出窗口。 这个javascript错误我得到处理硒和试图加载弹出winodw通过硒只... 所以任何运气! – Deputy

0

检查是否有关联选项卡上单击,像onclick事件的任何事件。如果是这样,尝试使用selenium.fireevent(“标识符”,“eventname”)来触发该事件。也可以尝试使用xpath单击选项卡一次。可能有一些其他元素具有相同的名称。

+0

是的。我从ViewPageSource为该选项卡找到了下面的html代码。

  • Link/Unlink
  • ...我们有与标签点击相关的onclick事件。让我试试selenium.fireevent(“链接=链接/取消链接”,“onClick”)。 – Deputy

    +0

    我尝试使用XPath,它的工作。 我写了selenium.fireEvent(“link = Link/Unlink”,“onclick”)并运行硒。它在此命令中引发错误,错误消息是:无效的参数。 我在哪里出错了? – Deputy

    +0

    eventname将被点击,而不是点击。 – Ash

    相关问题