Cypress 测试未打开 Powerapps 页面

Posted

技术标签:

【中文标题】Cypress 测试未打开 Powerapps 页面【英文标题】:The Cypress test does not open the Powerapps page 【发布时间】:2021-10-26 15:45:30 【问题描述】:

我正在尝试运行简单的 cypress 测试并得到如下错误:

但如果我将访问网址更改为另一个 - 它会正常打开:

我不明白为什么这个网址会出现这个错误:

"baseUrl":"https://apps.powerapps.com/play/f1t75er8-03c9-4cc7-996d-6743cd7eac4a"

另一个可见的错误:

代码:

describe("Create request",  () => 
    it("Should have a link that navigates to office365 login",  () => 
    cy.visit("/");
    cy.get('div[class="loginNeededText_uf5ohz"]').contains('Sign in to start using Power Apps');
      );
    );

附注也无法加载https://apps.powerapps.com/ 页面。错误:

【问题讨论】:

你是如何认证的? 我应该认证什么? 【参考方案1】:

当我使用您的基本 URL https://apps.powerapps.com/play/f1t75er8-03c9-4cc7-996d-6743cd7eac4a 时,我在控制台中只看到空白屏幕和 404 错误,我没有被重定向到登录。

也许您的网址应该是https://apps.powerapps.com,登录后您可以导航到“/play/f1t75er8-03c9-4cc7-996d-6743cd7eac4a”。

【讨论】:

谢谢您的回答。我将网址更改为apps.powerapps.com,但仍然无法加载。我在描述中添加了一张图片。 尝试将 baseURL 设为make.powerapps.com,因为您当前的 URL 会重定向到它。 您还可以查看 PowerApps 中的 CORS 标头docs.microsoft.com/en-us/powerapps/maker/portals/configure/… 还是一样:/无法加载页面。【参考方案2】:

一般

对于赛普拉斯,您不应该尝试visit or interact with sites or servers you do not control。 Cypress 的主要目的是测试,所以当你尝试用它做任何其他事情时,任务会变得更加复杂(你可以在the Cypress documentation 阅读更多关于它的信息)。

如果您确实需要来自第 3 方站点的信息,建议您通过 API 来完成 — 主要使用 cy.request() 方法(例如,Microsoft 有关于如何使用 Office 365 Management API 的大量文档) .

您的情况

当您访问 apps.powerapps.com 时,您将被重定向到 Microsoft 登录页面 - 它具有不同的域名,这会破坏 same-origin policy,从而导致跨域错误赛普拉斯控制台。

您在baseUrl 中指定的页面似乎返回了404 状态代码,以及控制台中一些丑陋的CORS 错误,这表明应用程序本身存在问题。在你解决了这些问题之后,你很可能无论如何都会面临身份验证的需要,最好通过 API 来完成。

【讨论】:

以上是关于Cypress 测试未打开 Powerapps 页面的主要内容,如果未能解决你的问题,请参考以下文章

Cypress测试框架——入门1

Cypress - 如何获取单个测试的数据,如标题、状态等

点击发送请求时出现 Cypress 400 XHR 错误

如何在 Windows 上记录我的 Cypress 测试?

重新打开PowerApps后我无法从PowerBi Integration检索数据

访问新窗口 - cypress.io