vuejs2 - cypress 如何在 CRUD 测试中获取插入行的 ID?
问题描述
在@vue/cli 4.0.5 应用程序中使用 cypress("@vue/cli-plugin-e2e-cypress": "~4.2.0") 进行 CRUD 操作并添加新类别:
cy.get('#parent_id').select('1')
cy.get('section.submit_form_category')
.get('button.submit_button_category')
.click() // by submitting new category was added on server
cy.url()
.should('include', '/admin/categories/edit/')
cy.contains('Edit category')
cy.get('section.submit_form_category')
.get('a.cancel_button_category')
.click()
cy.url()
.should('include', '/admin/categories')
cy.contains('Categories') // opened listing of categories
接下来我需要删除这一行,为此我需要获取上面创建的新类别的 ID。如果有办法做到吗?
谢谢!
解决方案
我发现了一个带有等待方法和解析响应 url 的决定,它必须类似于 /admin/categories/edit/52 :
cy.get('section.submit_form_category')
.get('button.submit_button_category')
.click() // by clicking on submit button form is validated and new categoty inserted
cy.wait(1000)
cy.url()
.should('include', '/admin/categories/edit/') // newly inserted row must be redirected to the editor in edit mode with ID in url
.then((response) => {
var valuesArray = response.split('/admin/categories/edit/'); // get ID of newly inserted category
if (valuesArray.length == 2) {
let new_category_id = valuesArray[1]
// alert('new_category_id::' + new_category_id)
}
})
cy.contains('Edit category')
这对我有用,但也许有更好的解决方案?
推荐阅读
- r - 如何在 R 中创建 10x12 的绘图网格?
- php - 自定义颜色无法在循环内正确拉出
- android - 类不返回 MutableMap 对象
- macos - 我的 Apache2 .conf 文件有什么问题
- python - 强制 Y 轴从 0 开始
- python - 在 Python 中,如何计算包含固定格式项的格式说明符所隐含的宽度
- sql-server - 通过 JDBC 连接将本地 SQL Server 数据库连接到数据块时出错
- x86 - 即使 VGA 内存已初始化,QEMU 也会提供空白输出
- python - Python如何从实体关系结构派生完整的层次结构
- html - 将站点从 IE 迁移到 Chrome 和 Edge 支持时要研究的场景