【问题标题】:Problem with Pop-up Windows using Selenium使用 Selenium 弹出窗口的问题
【发布时间】:2009-12-11 07:59:09
【问题描述】:

我是测试领域的新手,所以我的问题可能看起来有点太天真和愚蠢。冒着看起来/听起来很愚蠢的风险,我的问题是:

我一直在尝试在我公司的网络应用程序的弹出窗口中测试内容。我现在已经想出了如何检测弹出窗口,但我无法让 selenium “单击”该弹出窗口内的链接。这个网络应用中有多个弹出窗口,所以对于喜欢创建测试用例的新手来说真的很难。

我尝试了 click、clickAndWait、mouseDown 和 mouseKey 作为选项,但仍然无法正常工作。有人可以指导我吗?

TIA, 安吉拉

【问题讨论】:

    标签: windows selenium popup


    【解决方案1】:

    当弹出窗口出现时,您需要将脚本的上下文移动到窗口中。

    您可以使用selectWindow | window_ID_from_the_link 执行此操作,然后单击。

    如果这不起作用,您可能需要使用 openWindow 命令创建弹出窗口,然后开始针对它进行测试。

    【讨论】:

      【解决方案2】:

      根据您使用的弹出窗口的类型使用 getConfirmation/getassert/getprompt .....默认情况下,服务器将使用 ok 选项单击它们,您必须将弹出窗口中的消息用于其他硒命令正常工作...... 上面的建议是根据我使用 perl 使用 selenium RC 的经验给出的......

      【讨论】:

        【解决方案3】:

        也许你可以试试 FireFox 插件。您可以点击您的应用程序并记录您的步骤。记录步骤后,您可以轻松地将其保存为某种文件或单元测试。

        我不确定你应该为弹出窗口使用什么命令,也许 firefox 插件会以这种方式提供帮助(它会创建你的命令)。

        【讨论】:

          【解决方案4】:

          如果您使用 div 标签创建了弹出窗口,您可以使用以下代码停止 selenium 服务器,直到弹出窗口打开。

          int second = 0;
          while(!selenium.IsElementPresent(mylink))
          {
          if(second >= 5) 
              break;
          Thread.Sleep(1000);
          second++;
          }
          

          弹出窗口打开后,现在您可以单击弹出窗口中的任何链接。您必须使用以下代码。

          selenium.click("id=popup_link"); (popup_link is the id of the link present on the popup)
          

          祝你好运。

          【讨论】:

            【解决方案5】:

            不确定这是否是您要查找的内容,但如果您想单击 Selenium 无法处理的特定内容 - 例如浏览器弹出窗口或其他弹出窗口,您可以使用 Sikuli 脚本。 Sikuli 进行图像比较并点击相同 - 这非常强大。

            这里是链接:http://www.sikuli.org/

            【讨论】:

              猜你喜欢
              • 2023-01-20
              • 2013-02-03
              • 1970-01-01
              • 1970-01-01
              • 2011-01-19
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多