Automated tests 如何基于另一个图元单击图元';s文本

Automated tests 如何基于另一个图元单击图元';s文本,automated-tests,selector,e2e-testing,web-testing,testcafe,Automated Tests,Selector,E2e Testing,Web Testing,Testcafe,给定一个多行用户表 <tr> <td class="cell--select"> <input class="choice__input" type="checkbox"> </td> <td> <div class="user"> <ul class="user-info"> <li class="name">Jane Doe</li&g

给定一个多行用户表

<tr>
  <td class="cell--select">
    <input class="choice__input" type="checkbox">
  </td>
  <td>
    <div class="user">
      <ul class="user-info">
        <li class="name">Jane Doe</li>
      </ul>
    </div>
  </td>
</tr><tr>
...

    无名氏
...
我想选择具有给定用户名的行,然后单击该行上的复选框。我已经尝试了很多方法,包括使用text
和/或
parent()
和/或
find()
等。。。但什么都不管用

通常,我会抓取所有的
li.name
s,检查正确的名称,并使用索引检查正确的复选框,但我也找不到实现这一点的方法


卡住了。。。想法?

好吧,我找到了一个方法。这是一个有点脆比我想要的,但它的工作。如果有更好的解决方案,请添加答案

const checkboxToClick = await Selector('.name')
      .withText('Jane Doe')
      .parent("tr")
      .find(".choice__input");

await t.click(checkboxToClick);

有一种更简单的方法来实现所需的行为。您可以使用该方法标识表行:

const checkboxToClick = await Selector('tr')
  .withText('Jane Doe')
  .find(".choice__input");

await t.click(checkboxToClick);