Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

[Feature]: Guaranteed testing against latest published version of Canvas Apps

未关闭
#625 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
35/100
Issue 类型
功能
描述清晰度
需要澄清
活跃度
停滞
技术栈
csharp
领域
testing-qa

调研方向

未指定文件、测试或入口点。首先定位 Test Engine's Canvas App 的启动和版本处理流程,然后确定它如何比较正在运行的应用与最新发布的版本,并进行等待或重新加载;完成的标准是测试始终针对预定部署的版本运行。

由索引模型根据 Issue 内容生成。

描述

enhancement
Is your feature request related to a problem? Please describe.

A long-standing issue with Canvas Apps is that when users open an app that was very recently re-published, they may actually get the previous version instead of the latest version. For example, if version 1 was published yesterday, and version 2 was published 5 minutes ago, launching the app might open version 1 instead of version 2.

This issue affects Test Engine just as it does regular users.

Although this is not an issue with Test Engine itself, it is not acceptable for this scenario to exist in any context where Test Engine is being used.

  • The tests defined in Test Engine's test plan will be defined with version N in mind, and may not work as expected on version N-1, producing false positives or false negatives
  • Test Engine may be used in a CI/CD pipeline, and the test results (pass vs fail) may be critical to deciding if export and/or deployment should proceed, so it is vital that Test Engine is testing (100% of the time) the version of the Canvas App that is being deployed (most recently published, with no delay)
Describe the solution you'd like
  • "Fix" the player so if a newer version of the app is published (or in the process of being published) it waits for publishing to finish and loads that new version
    • Perhaps this could be controlled by a query string parameter so it doesn't affect business users in production, but honestly I've heard many users in production complain that they aren't seeing the latest version of an app, several minutes or even hours after publish/import
    • Btw, I do understand this is a larger ask, probably beyond the control of the Test Engine team, but I do think the Test Engine team should be championing a solution for this problem

OR

  • Have the Test Engine compare the version of the currently running application against the last recorded version of the application, and if they do not match then wait/reload until the two versions match and then proceed with testing
Describe alternatives you've considered

Definitely not ideal, but...

  1. Before every publish, add expected version number to a text input control (cannot use variables because of #624)
  2. Use connector get the latest recorded version of the app in Dataverse
  3. In another text input control, set the default value of another text input control to the latest recorded version
  4. In test case, compare the values of the two text controls, and fail if they do not
Additional context?

No response

主要语言
C#
星标
150
派生
55
平均合并
5 天 23 小时
30 天内合并 PR
4

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

microsoft/PowerApps-TestEngine 的其他 Issue

查看 microsoft/PowerApps-TestEngine 的全部 Issue

相似的 Issue

更多 C# Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。