我们正在开发一个多层服务驱动的项目。 CRM驱动的UI项目用于设置规则引擎。 (UI - 我们使用Cypress.io实现自动化)
需要几分钟的时间才能在面向最终用户的Frontend-app中得到体现(它也由Cypress.io框架单独介绍)
我们希望有e2e UI测试,它首先在Rules引擎上启动,同样的测试应该等待几分钟,然后继续检查对前端UI的影响
在硒中,我们可以做类似的事情 -
driver.get("http://www.siteA.com/rules");//internal rules engine CRM
..
..
driver.manage().timeouts().implicitlyWait(5, TimeUnit.MINUTES);
..
..
driver.get("http://www.siteB.com/public");//customer facing Frontend
是否有可能在Cypress.io中实现类似的功能
谢谢
您无法从完全不同的服务器访问相同的“会话”。
仅使用单一标志完成。
不同的服务器,以获得用户身份的某种认证。
基本上是OpenID,例如在这里使用stackoverflow,是同一问题的解决方案,虽然你通常没有隐式登录 - 你需要明确登录。
如果您控制参与服务器以及身份验证“第三方”(实际上可能是两个服务器之一),您应该能够轻松地提供一些隐式登录。
但是,如果网站显然不属于一起,请注意可能的隐私问题。如果您不认识两台服务器属于同一实体,则主动分享其身份可能会让人感到疏远
如果您尝试转到两个不同的域,赛普拉斯将回复此消息:
CypressError:cy.visit()失败,因为您试图访问第二个唯一域。
您每次测试只能访问一个唯一的域。
不同的子域名是可以的,但不是唯一的域名。
您访问过的上一个域名是:'https://s3-portal.sqills-deep-purple-test.cloud.sqills.com'
您正试图访问这个新域名:'http://www.google.com'
您可能需要重新构建一些代码以防止这种情况发生。
所以你必须在同一个域上。例如,这有效:
it.only('test', function () {
cy.visit('https://images.google.com')
cy.contains('Google')
cy.wait(500)
cy.visit('https://google.com')
cy.contains('Google')
})
这样就可以测试两种不同的方法,包括你可以设置的等待。