使用 Cypress 验证静态下拉菜单


Cypress 使用其内置命令来处理静态下拉菜单。对于静态下拉菜单,元素的标签名称应为<select>,其子元素的标签名称应为<option>。

使用的命令是 select()。此命令需要与提供标签名称为 select 的 DOM 元素的命令链接。下面列出了 select 命令的各种用法:

  • select(value) - 带有参数 value 的 select() 命令选择具有该值的选项。与 select() 链接时,get 方法应具有静态下拉菜单的 css 选择器。

cy.get('select').select('value1')
  • select(text) - 带有参数 text 的 select() 命令选择具有该文本内容的选项。与 select() 链接时,get 方法应具有静态下拉菜单的 css 选择器。

cy.get('select').select('text')
  • select('Value1', 'Value2') - 带有参数的 select() 命令选择具有这些值或文本内容的选项数组。与 select() 链接时,get 方法应具有静态下拉菜单的 css 选择器。

cy.get('select').select(['Tutorialspoint', 'Cypress'])
  • select({ force: true }) - 将选项作为参数的 select() 命令更改静态下拉菜单的默认行为。可以有三种类型的选项:log、force 和 timeout,它们的默认值分别为 true、false 和 defaultCommandTimeout(4000 毫秒)。

cy.get('select').select('Cypress', { force: true})

Cypress 使用 force 选项与隐藏元素交互,然后强制内部从下拉菜单中选择一个选项。

我们可以在 Cypress 中使用 select() 命令应用断言。

语法

cy.get('select').select('Cypress').should('have.value', 'Cypress')

示例

使用 select() 的代码实现。

describe('Tutorialspoint Test', function () {
   // test case
   it('Test Case2', function (){
      cy.visit("https://tutorialspoint.com/selenium /selenium_automation_practice.htm");
      // checking by values
      cy.get('input[type="checkbox"]')
      .check(['Manual Tester','Automation Tester']);
      // selecting a value from static dropdown
      cy.get('select[name="continents"]').select('Europe')
      // asserting the option selected
      .should('have.text', 'Europe')
   });
});

更新于:2020年8月5日

2K+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告