【问题标题】:Selenium: handling multiple inputs with same xpathSelenium:使用相同的 xpath 处理多个输入
【发布时间】:2011-11-29 07:56:43
【问题描述】:

我正在测试一个网站,用户可以选择将输入字段更改为文本框和下拉菜单。无论用户将其更改为下拉菜单还是文本框,输入字段的 xpath 都是相同的。所以,我不确定如何为这种情况编写测试步骤。

我想做这样的事情:

if (dropdown present)
{
   Selenium.Select("dropdown xpath", "option");
}

else if (textbox present)
{
   Selenium.Type("texbox xpath", "option");
}

谁能帮帮我? Selenium 有没有办法检查输入是否属于“文本”类型?

【问题讨论】:

    标签: selenium-rc


    【解决方案1】:

    您可以使用selenium.isElementPresent(locator),包含在您的if (..) 构造中来检查元素是否存在,并执行相应的操作。

    【讨论】:

      【解决方案2】:

      我没有看到 selenium 中有一个简单的属性,但是你绝对可以通过调用 javascript 得到它:

      IWebElement 元素 = ...

      string tagName = ((IJavaScriptExecutor)webDriver).ExecuteScript("return arguments[0].tagName", element).ToString();

      另一种选择是创建 2 个仅适用于其中一个的 xpath,并尝试在 try/catch 中查找文本框。如果遇到问题,则改为搜索下拉菜单。

      【讨论】:

        猜你喜欢
        • 2017-03-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-03
        • 2017-01-10
        • 2016-03-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多