模拟用户点击Windows Phone 8设备触摸屏的最佳方法是什么?
我能想象的一种方法是使用本机代码来调用控制鼠标事件的Win32 API函数。这将假设触摸屏事件与鼠标事件或多或少相同,并且可以访问这些API函数。有谁知道WP8是否属于这种情况?
另一种方法是使用适用于Windows Phone的Android ADB。在Android上,可以使用ADB从PC控制设备并模拟触摸屏事件(例如通过Monkeyrunner)。如果有像Windows Phone 8的ADB这样的工具,我还没有找到任何信息。
为此找到解决方案的目的是在自动化测试过程中集成Windows Phone 8设备。
答案 0 :(得分:5)
我发现在Windows Phone 8的System32文件夹中有一个名为InputInjection.dll的DLL文件(至少在我安装的模拟器映像中)。
该库包含以下功能:
做了一些研究,我发现有一些模拟Windows 8开发的触摸输入的官方方法:
但是,用于Windows 8开发的功能在Windows Phone 8上不可用。但是这些功能的命名与我在InputInjection.dll中找到的功能类似:
我无法找到有关InputInjection.dll及其功能的任何文档。这些函数也不会出现在SDK的头文件中。也许Microsoft在Windows Phone开发过程中在内部使用这些函数进行自己的测试。
问题是:是否可以访问此库并以某种方式调用这些函数?这与在iOS上使用“私有API”类似,我猜。我尝试了几种使用本机C ++代码的Windows Phone 8应用程序实现此目的的方法,但到目前为止我没有运气(基本原因是应用程序在Windows Phone上运行沙盒)。有没有办法在Windows Phone上运行二进制文件(可能通过调试桥或其他东西)?
答案 1 :(得分:0)
您可以从Win32服务/内核驱动程序访问所有这些API。将头文件包含在源代码中,并使用注入库的方法