首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何实现Metro风格应用的UI自动化?

如何实现Metro风格应用的UI自动化?
EN

Stack Overflow用户
提问于 2012-05-01 10:17:22
回答 3查看 9.1K关注 0票数 15

我已经下载并安装了Windows8用户预览版,我想知道如何使用UI Automation API从metro风格的应用程序中获取数据。

背景:我有很多使用Microsoft UI Automation API's与应用程序交互的自动化测试。这些脚本是针对.NET 4用IronRuby编写的

最初,我只想检查开始菜单是否可见(如果可见,关闭它)

According to Microsoft,正常的UI Automation API应该能够访问和控制metro风格的应用程序,但问题是,我不能弄清楚我的代码如何实际访问metro应用程序的UI?我们查看UI自动化数据的正常方式是使用UISpy,但是当我在Windows8下运行UI spy并打开一个metro应用程序时,没有提到它……似乎地铁应用程序(包括开始屏幕)与桌面隔开了。

如果我在UISpy中找不到metro应用程序,我如何找到它们的自动化ID,以及如何从我的自动化测试脚本中找到它们?

EN

回答 3

Stack Overflow用户

发布于 2012-05-03 14:59:32

以下是一些关于在Metro风格的应用程序中工作的UI自动化的资源:

  • 在这里是一个演示它的sample

  • blog post上解释了这一点。

  • 这是一个关于这个主题的forum thread

这个应用程序并不会阻止传统的UI自动化正常工作。您可能需要获取更新工具才能查看Metro style应用程序。有些还附带了Consumer Preview。查找inspect.exe.

票数 5
EN

Stack Overflow用户

发布于 2013-05-10 13:47:40

UI自动化工具可以自动化Metro应用程序。例如,检查RIATest

从版本6.0开始,RIATest中的许多功能都是专门针对Metro风格的应用程序自动化的,特别是:

Metro application.

  • Recording能够保持在Metro UI的顶部,使您能够同时看到您的Metro应用程序和Metro集成开发环境,并在自动执行在本地Windows

  • 元素(包括Metro GUI)上执行的操作的Metro application.

  • Recording时,最大限度地减少从桌面到Metro屏幕的切换。记录器分析您的脚本代码,并重用您的变量名来生成更清晰的记录脚本,类似于您在Metro UI中手动为Windows UI自动化实现中的bugs like this编写自动化script.

  • Seamless解决方案。

免责声明:我在RIATest公司Cogitek工作。

票数 2
EN

Stack Overflow用户

发布于 2012-05-02 12:00:38

WinRT (也称为"Metro Style")应用程序在沙箱中运行。您无法穿透应用程序之间的墙,包括桌面应用程序。这包括网络隔离(例如,除非在开发环境中,否则不能回头引用localhost )。有几个例外,比如共享和搜索联系人,它们允许应用程序之间非常特定类型的交互。

正是这个沙箱阻止了UISpy在后台看到正在执行的WinRT应用程序。我不确定如果沙箱没有某种开发环境异常(类似于网络隔离异常),UISpy如何解决这个问题,这在消费者预览中是不可用的。

我也不知道WinRT应用程序何时/是否会支持UI Automation API。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10392774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档