【问题标题】:Cypress Using fixture in test赛普拉斯在测试中使用夹具
【发布时间】:2021-11-24 17:35:07
【问题描述】:

我想在我的所有测试中使用fixture。我有这样的夹具文件“comptes_qualifs”:

enter image description here

在我的 JS 脚本中,我在 beforeEach 部分中添加了夹具文件的加载

enter image description here

所以在我的一个测试中,我想像这样使用 compte_i 变量的登录名:

enter image description here

但是当我启动测试时,我有这个错误:

enter image description here

谁能帮帮我?

【问题讨论】:

    标签: cypress


    【解决方案1】:

    如果您想从夹具文件中访问某些内容,我更喜欢这个选项:

    describeadd 之前:

    import {comptes_qualif} from "{{path relative to your spec file}}/comptes_qualif"
    const compte = new comptes_qualif()
    

    现在您可以使用以下方法从您的夹具文件中调用登录值:

    compte.compte_i.login
    

    this 仅适用于此规范文件中定义的任何内容。如果它是在fixture 或 pages 文件中定义的(即使在您开始导入它之后),您仍然必须使用必须定义为const 的名称来调用它,例如compte在我的例子中

    【讨论】:

    • 您确定log 命令支持别名吗?文档没有提到 cy.log 的别名
    • 是的,当我想确保存储了正确的值/字符串时,我已经使用了几次。在某些规范中,我需要在别名中保存一个值以供以后使用,在测试期间,我总是在我的脚本中包含一个cy.log('@alias')。当然,由于 Cypress 的异步特性,您只能将其记录在 it 稍后的实例中,而不是在您存储它的同一实例中
    • 你能提供完整的例子吗?我刚刚尝试了cy.wrap("asdf").as("alias").then(() => { cy.log("@alias") }) 并在输出中得到了log @alias
    • 我稍微编辑了我的答案。为了记录别名,你可以试试这个describe('alias', () => { it('save alias', () => { cy.wrap('This is a test').then((text) => { cy.wrap(text).as('text') cy.log(text); }) }) }) 现在你可以稍后使用别名text
    猜你喜欢
    • 2019-07-21
    • 2023-02-14
    • 2022-12-31
    • 1970-01-01
    • 2021-11-06
    • 1970-01-01
    • 2021-10-20
    • 2020-05-16
    • 1970-01-01
    相关资源
    最近更新 更多