赛普拉斯中的页面对象模式?

布库拉

我想使用类似于Selenium等框架中存在的Page Object Pattern的工作流程。我想在我的login.spec.js使用my editSettings.spec.js,因为它需要用户登录。

如何在赛普拉斯中实现这一目标?我可以从一个测试文件中导出功能以在另一个文件中使用吗?

布库拉

是的,赛普拉斯支持在用户界面中创建和重用动作的功能,例如以用户身份登录。

但是,赛普拉斯还允许您比用户更强大地控制浏览器的状态

例如:我创建一个“用户可以使用有效的用户名和密码登录”的测试-赛普拉斯导航到登录页面,在“用户”字段中键入,在“密码”字段中键入,然后单击“登录”按钮。页面对象模式会让你在重复使用这个动作每一个测试,要求用户先登录(大多数测试)

赛普拉斯对此表示支持;但是,这比必须慢导航到登录页面,输入信息,处理响应以及导航到被测页面需要花费大量时间。相反Cypress的API允许的情况如下:

  • 用于cy.request()直接使用登录凭据访问服务器。这不需要您的应用程序状态,无需在字段中键入,无需单击按钮或直接指向页面
  • 您的站点使用的所有cookie都会自动设置,或者您可以使用响应设置localStorage
  • 将其设置为自定义命令,在每次测试之前调用它,然后就可以立即生成用户状态,而且最重要的是,它不会剥落

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章