如果想从头学起Cypress,可以看下面的系列文章哦
https://www.cnblogs.com/poloyy/category/1768839.html
作用
执行系统命令
语法格式
cy.exec(command) cy.exec(command, options)
command
从项目根目录(包含默认 cypress.json 配置文件的目录)执行的系统命令
options
- log:是否将命令显示到命令日志中,默认 true
- timeout:命令超时时间
- failOnNonZeroExit:如果命令返回结果的 code 属性值非 0 则返回失败
- env:在执行命令之前要设置的环境变量的对象(如: {USERNAME:'yy'} ),将与现有系统环境变量合并
正确用法
cy.exec('npm run build')
命令返回结果
-
code:0 代码成功,1 是失败
-
stderr:报错信息
-
stdout:执行命令的返回结果
简单的栗子
测试代码
运行结果
命令返回结果
结合接口响应内容的栗子
测试代码
运行结果
命令返回结果
该系统命令没有返回结果所以为空
设置环境变量的栗子
测试代码
如果是 window,打印环境变量记得是 set 环境变量名
运行结果
命令返回结果
注意事项
第一
不要尝试从 cy.exec() 启动网络服务器
命令必须能退出
可以自定义 execTimeout
可以修改 execTimeout 来延长系统命令的执行时间
Cypress.config('execTimeout', 30000) Cypress.config('execTimeout') // => 30000
设置后,剩下的所有测试用例都会生效
在测试用例集配置项中自定义 execTimeout
describe('has data available from database', { execTimeout: 90000 }, () => { before(() => { cy.exec('rake db:seed') }) // tests after(() => { cy.exec('rake db:reset') }) })
这样就只针对该 describe 测试用例集生效了
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。