java - 如何从表中获取值?

标签 java selenium htmlelements

<table id="usersForm:mainTable:n" class="extdt-table-layout res-table" cellspacing="0" cellpadding="0" border="0" width="100%;" style="">
   <colgroup id="usersForm:mainTable:colgroup:body">
      <tbody id="usersForm:mainTable:tb">
         <tr id="usersForm:mainTable:n:0" class="extdt-firstrow rich-extdt-firstrow extdt-row-selected rich-sdt-row-selected res-table-selected" onmousedown="handleMouseClick(event)">
            <td id="usersForm:mainTable:1:name" class="extdt-cell rich-extdt-cell">
               <div class="extdt-cell-div">
                  <div onmouseup="if (showMenu(this)) {document.lkjasdf = event; selectContextMenu('ENTTUSER','MbUsersSearch');}">
                     <span title="ADMIN" onmouseup="if(!rightButton && isSelectedRow(this,rightButton) && false && !disableContext) {setDisableContext(true); beforePrepareDefaultAction('ENTTUSER','MbUsersSearch');}">ADMIN</span>

使用 htmlelements 模式,我想从表中获取值,即验证表包含值“ADMIN”。 在 htmlelements 中,可以“开箱即用”地处理表格。我写道:

import ru.yandex.qatools.htmlelements.element.Table;
public class MainTableForm extends HtmlElement {
    @FindBy(id = "usersForm:mainTable:n")
    private Table table;
}

那我就不知道用什么方法来取值了。

最佳答案

您可以使用 List<List<String>> getRowsAsString()从表中获取所有值的方法。然后用 hamcrest 匹配器检查这个集合。所以最终的代码将非常简单:

assertThat(table.getRowsAsString(), contains(contains(equalTo("ADMIN"))));

关于java - 如何从表中获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32743024/

相关文章:

java - java中没有任何代码的情况下无限运行while循环

java - 如何替换java字符串中的所有数字

java - 在 Java 中打印外部文件中的文本

java - selenium cucumber JUnit 框架中的空指针异常

c# - 如何从 WPF WebBrowser 获取 HtmlElementCollection

java - Android 数据库登录表单

python - 尝试一次通过搜索发送一个列表项

testing - HTMLElements:元素搜索超时

javascript - 根据 id 获取自定义属性

java - org.testng.TestNGException : sun. 安全.provider.certpath.SunCertPathBuilderException