java - 获取选择字段的当前值

标签 java testing testng selenium-webdriver

我有一个我正在尝试测试的网站,它有几个下拉菜单。一个选择元素如下:

<select class="input-xxlarge" name="dosage">
  <option value="20 MG, Enteric Coated Capsule">20 MG, Enteric Coated Capsule</option>
  <option value="60 MG, Enteric Coated Capsule">60 MG, Enteric Coated Capsule</option>
  <option value="30 MG, Enteric Coated Capsule">30 MG, Enteric Coated Capsule</option>
</select>

在更改值后我注意到的唯一变化是类名更改为:“input-xxlarge changedInput”。

我正在使用 WebDriver 运行测试,想知道当前值是多少。我已尝试执行以下操作:

    WebElement strengthForm = driver.findElement(By.xpath("/html/body/section/article[2]/div/table/tbody/tr["+rowNum2+"]/td/div/article/section/form/fieldset/label/select"));
    String strengthBeforeChoosing = strengthForm.getText().toString();
    System.out.println(strengthBeforeChoosing);

问题在于,这不是获取当前值,而是为我提供了所有选项。

20 毫克,肠溶胶囊 60 毫克,肠溶胶囊 30 毫克,肠溶胶囊

我如何才能只获取下拉列表的当前值,以便我可以将它与更改后的当前值进行比较?

最佳答案

尝试使用:

Select select = new Select(driver.findElement(By.id("dosage")));
String selectedText = select.getFirstSelectedOption().getText();

关于java - 获取选择字段的当前值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13923936/

相关文章:

java - 有没有办法知道在 JSF 项目的 xhtml 文件中引用了哪些 bean 属性?

Java类的继承

android - Flutter UnitTest:同一类的两个不同的模拟

java - 为什么我会收到错误 "package org.mockito.runners does not exist"?

java - 尝试使用 Surefire 从 Maven 启动并行 TestNG 测试

java - 配置失败: @AfterMethod tearDown

java - 为什么当我停止从按钮 Action 监听器播放音频时出现此错误(音频从 Thread 运行)整个代码都在里面

testing - clojure 是否需要依赖注入(inject)来使代码更易于测试?

java - 传输文件时出错 : Connection timed out: connect in maven.

java - Groovy 日期解析——X 是非法模式字符