【问题标题】:Selenium IDE SelectWindowSelenium IDE 选择窗口
【发布时间】:2014-02-27 21:12:27
【问题描述】:

我已经搜索了以前的帖子,但无法找到解决方案,所以我会尝试一个新帖子。

我有一个简单的登录页面,按下按钮后,它会将您发送到一个新窗口。我正在尝试选择这个新窗口,然后断言它的标题,但是 Selenium IDE 找不到带有标题的窗口。

这是这个新窗口标题的 HTML 代码...

<head><title>
    Pharma Unified Access: Main Menu
</title>

我的 Selenium 代码很简单。

<tr>
    <td>selectWindow</td>
    <td>Pharma Unified Access: Main Menu</td>
    <td></td>
</tr>
<tr>
    <td>assertTitle</td>
    <td>Pharma Unified Access: Main Menu</td>
    <td></td>
</tr>

我收到以下消息...

[错误] 窗口不存在。如果这看起来像 Selenium 错误,请务必阅读 http://seleniumhq.org/docs/02_selenium_ide.html#alerts-popups-and-multiple-windows 以了解潜在的解决方法。

我使用了 storeallwindownames/ids/title 并且 Selenium 甚至不识别新窗口的存在,因为它只给了我原始窗口的名称/标题/id?如何让 Selenium IDE 识别这个新窗口的存在?

任何帮助将不胜感激。

【问题讨论】:

    标签: selenium-ide


    【解决方案1】:

    您是否有权编辑 HTML 代码。可能是标题中有隐藏字符,如\n换行符或\t制表符。

    您能否将 HTML 代码更改为 Pharma Unified Access: Main Menu 或尝试添加通配符以覆盖任何隐藏字符。

    <tr>
        <td>selectWindow</td>
        <td>*Pharma Unified Access: Main Menu*</td>
        <td></td>
    </tr>
    

    【讨论】:

      【解决方案2】:

      如果你碰巧有窗口 ID,你可以试试这个:

      <tr>
          <td>openWindow</td>
          <td></td>
          <td>windowID</td>
      </tr>
      <tr>
          <td>assertTitle</td>
          <td>Pharma Unified Access: Main Menu</td>
          <td></td>
      </tr>
      

      建议将此命令作为错误SEL-339 的解决方法。

      【讨论】:

        【解决方案3】:

        您面临的问题是 selenium IDE 中存在一个错误,它只能识别 IT 打开的窗口。您无法使用“selectWindow”选择新窗口,因为 Selenium IDE 没有“打开”窗口。它“点击”了链接,网页“打开”了窗口。

        解决方法是在指向@href 的超链接元素上使用storeAttribute 来从链接中提取url 并将其存储为变量。然后使用 openWindow。所以而不是:

        <tr>
            <td>click</td>
            <td>//table[@id='dtgList']/tbody/tr[1]/td/a/u</td>
            <td></td>
        </tr>
        <tr>
            <td>pause</td>
            <td>10000</td>
            <td></td>
        </tr>
        <tr>
            <td>selectWindow</td>
            <td>Profile</td>
            <td></td>
        </tr>
        

        使用这种策略:

        <tr>
            <td>storeAttribute</td>
            <td>//table[@id='dtgList']/tbody/tr[1]/td/a@href</td>
            <td>Profile</td>
        </tr>
        <tr>
            <td>echo</td>
            <td>${Profile}</td>
            <td></td>
        </tr>
        <tr>
            <td>openWindow</td>
            <td>${Profile}</td>
            <td></td>
        </tr>
        <tr>
            <td>pause</td>
            <td>10000</td>
            <td></td>
        </tr>
        <tr>
            <td>selectWindow</td>
            <td>Profile</td>
            <td></td>
        </tr>
        

        希望对您有所帮助。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-09-03
          • 1970-01-01
          • 1970-01-01
          • 2014-04-22
          • 2012-11-24
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多