在赛普拉斯测试区后访问测试数据

access test data after test area in cypress

我有一个 html 代码包含

<div class="form-card">

  <h2 class="fs-title" test-data="area_1">
    About DigCompEdu
  </h2>

  <p></p>

  <label for="academic_teaching" class="question" test-data="question_1">
    <b>1- </b>
  </label>
  <small id="academic_teachingHelp" class="form-text text-muted">
  </small>

  <div class="form-check question-form-check ">
    <div class="row">
      <div class="col-1">
        <input class="radio" type="radio" value="0" id="3" name="2" test-data="answer_1" />
      </div>

    </div>

所以,我有一个带有测试数据名称的 h1,然后我有一个表格,这个表格包含带有 multin check radio 的问题..我想访问这个检查,而不是通过调用 ([test-data="answer_2"]) 因为我有另一个提示,不想像这个一样检查它们,

我做了这样的事,但它不起作用:

cy.get('[test-data="area_1"]~[test-data="answer_2"]').check({force: true})

有人有其他想法吗?

可能是选择器之间的~,我以前没见过。

它与 space 之间是否有效?

cy.get('[test-data="area_1"] [test-data="answer_2"]').check({force: true})

如果标题后跟这样的形式

<h2 class="fs-title"  test-data="area_1">
  About DigCompEdu
</h2> 
<div class="form-check question-form-check ">
  ...

那么你会这样查询

cy.get('[test-data="area_1"]')
  .next('.form-check')                // next element on page
  .find('[test-data="answer_2"]')     // this looks inside '.form-check'
  .check({force: true})