vue.js cypress -如何通过选定的值获得一个select元素?

42fyovps  于 2023-01-17  发布在  Vue.js
关注(0)|答案(1)|浏览(204)

我试图在Vue项目中使用Cypress。我有一个页面,其中有一个表,有很多行。每行都有一个选择标记。这个选择标记有不同的选项,每行的当前状态如:“处理中”、“等待审核”等。
通过改变这一点,有一些条件;从一种状态到另一种状态的一些改变是不允许的,一些需要确认,一些仅仅是OK,并且显示成功消息。
为了测试这一点,我必须根据元素的当前值来获取元素,正如我在cypress文档或其他网站上看到的,没有对此的解释(如果可能的话)。
因此,为了更清楚地说明,我希望使用如下代码(我知道hasValue并不存在于Cypress上):

cy.get('select').hasValue('In Process')
// or
cy.get('select').hasValue(3)

我尝试过类似contains的方法,但这会返回所有文本。

bfrts1fy

bfrts1fy1#

如果要Assertselect元素值,可以使用cy.get('select').invoke('val').should('eq', 'In Process')作为示例。
否则,如果您只想检查它的值并运行基于它的特定代码,则可以执行以下操作:

cy.get('select')
      .invoke('val')
      .then($value => {
        if ($value === 'In Process') {
          // your code for 'In Process' case
        } else if ($value === 'Waiting For Review') {
          // your code for 'Waiting For Review' case
        }
      })

相关问题