我已经下载并安装了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,以及如何从我的自动化测试脚本中找到它们?
发布于 2012-05-03 14:59:32
以下是一些关于在Metro风格的应用程序中工作的UI自动化的资源:
这个应用程序并不会阻止传统的UI自动化正常工作。您可能需要获取更新工具才能查看Metro style应用程序。有些还附带了Consumer Preview。查找inspect.exe.
发布于 2013-05-10 13:47:40
UI自动化工具可以自动化Metro应用程序。例如,检查RIATest。
从版本6.0开始,RIATest中的许多功能都是专门针对Metro风格的应用程序自动化的,特别是:
Metro application.
免责声明:我在RIATest公司Cogitek工作。
发布于 2012-05-02 12:00:38
WinRT (也称为"Metro Style")应用程序在沙箱中运行。您无法穿透应用程序之间的墙,包括桌面应用程序。这包括网络隔离(例如,除非在开发环境中,否则不能回头引用localhost )。有几个例外,比如共享和搜索联系人,它们允许应用程序之间非常特定类型的交互。
正是这个沙箱阻止了UISpy在后台看到正在执行的WinRT应用程序。我不确定如果沙箱没有某种开发环境异常(类似于网络隔离异常),UISpy如何解决这个问题,这在消费者预览中是不可用的。
我也不知道WinRT应用程序何时/是否会支持UI Automation API。
https://stackoverflow.com/questions/10392774
复制相似问题