在赛普拉斯中如何根据名称选择输入元素?

时间:2019-04-16 20:30:01

标签: javascript cypress

我开始学习赛普拉斯。我想选择输入字段,并使用cypress.io提供电话号码。我遵循的代码,但无法正常工作。但是我可以使用find还是有另一种方法来获取输入元素以输入电话号码?

cy.get('div').contains('Phone Number').find('input[name=teacher[0].number]').type('8000-1612023')
<div class="required field">
  <label>Phone Number</label>
  <div title="Teacher number" class="ui fluid right labeled input no-spinners">
      <input required="" type="number" name="teacher[0].number" value="">
      <div class="ui label label">US</div>
  </div>
</div>

2 个答案:

答案 0 :(得分:0)

为什么不使用以下代码直接定位输入字段

cy.get('input[name="teacher[0].number"]').type('8000-1612023')

请在下面找到屏幕截图,以便成功进行测试。我还建议您将HTML中的输入类型更改为tel

HTML:

<input required="" type="tel" name="teacher[0].number" value="">

柏树:

describe('Trial', function() {
it('Test', function() {
    cy.visit('http://localhost:8080/trials/')
    cy.get('input[name="teacher[0].number"]').type('8000-1612023')
})
});

测试结果:

enter image description here

答案 1 :(得分:0)

尝试以下方法:

cy.contains('div', 'Phone Number').find('input').first().type('8000-1612023')

contains的第一个参数告诉cypress使用包含文本的选择器查找元素。