【发布时间】:2014-09-13 14:17:11
【问题描述】:
我是 Selenium 和 JUnit 的真正初学者,并尝试通过选择一项来验证下拉列表的功能。 Selenium 正在使用动态 id 记录它,因此在尝试重新运行它时,它找不到该元素。 我在我的 JUnit 代码中尝试了一些方法,但我似乎无法做到正确。
这是一个“视图”下拉列表,其中第一项是“主题”
这是我的html:
<div id="yui_3_16_0_1_1406046071286_1213" class="commontasks shaded">
<div id="pagetoolbar" class="hasnomsg hideReplyGroup">
<div id="match-messagelist-sizing">
<span id="btn-ml-cbox" class="btn btn-hdr cbox collapse-end-space" tabindex="0" aria-label="Select or deselect all messages [Ctrl+A]">
<span id="btn-select-dd" class="btn neoFocusable enabled" aria-label="Select or deselect categorized messages" aria-haspopup="true" role="button" data-action="select-dd">
<span id="btn-conv-view" class="btn btn-absolute btn-view-dd" data-action="menu" title="More view options" aria-haspopup="true" role="button">
<span id="yui_3_16_0_1_1406046071286_1215" class="icon-text">View</span>
<b id="yui_3_16_0_1_1406046071286_1212" class="icon icon-chevron-down"></b>
</span>
</div>
</div>
我尝试使用以下代码打开列表: driver.findElement(By.xpath("/html/body/div[7]/div[3]/div[4]/div[2]/div1/div[2]/div/div/span[ 3]/b")).click(); 但是当我从 Eclipse 运行测试时,它成功完成,但我没有看到列表打开。有没有办法从这里继续并从列表中选择一个项目?
我尝试使用 Select 选项: 选择 select = new Select(driver.findElement(By.xpath("/html/body/div[6]/div[3]/div[4]/div[2]/div1/div[2]/ div/div/span[3]/span[text() = 'View']"))); 但收到以下错误: org.openqa.selenium.support.ui.UnexpectedTagNameException:元素应该是“select”,但是是“span”
非常感谢您的 cmets。
谢谢
【问题讨论】: