简体   繁体   English

Metro,iOS应用程序的功能自动化-用户界面对象识别技术

[英]functional automation of Metro, iOS apps --— UI object identification techniques

Folks - I am looking for an automation tool to automate windows 8 metro application and an iOS application for functional automation 伙计们-我正在寻找一种自动化工具来自动化Windows 8 Metro应用程序和一个iOS应用程序以实现功能自动化

I have researched some tools and found about Ranorex UI automation tool (for metro and iOS applications) UI automation (by Microsoft) (for metro apps) UI Instruments (for iOS application) 我研究了一些工具,并发现了有关Ranorex UI自动化工具(用于Metro和iOS应用程序),UI自动化(对于Microsoft)(对于Metro应用程序),UI Instruments(对于iOS应用程序)

The real problem I am facing is with all these UI automation tools, if there is a small change in the UI, the scripts are failing ...... 我面临的真正问题是所有这些UI自动化工具,如果UI发生很小的变化,脚本就会失败......

I want to test the functionality first and need more robust scripts/tools to handle UI changes. 我想先测试功能,然后需要更强大的脚本/工具来处理UI更改。 How can I identify metro app objects uniquely? 如何唯一识别Metro应用程序对象? I see that the UI code is XAML 我看到UI代码是XAML

Also, I have the source code of the app available and don't mind using variables or resources from it in my automation code.... 另外,我有可用的应用程序源代码,并且不介意在自动化代码中使用其中的变量或资源。...

Can anyone please suggest any good tools or How I can handle this? 谁能建议任何好的工具,或者我该如何处理?

My manager wants a real customer experience !! 我的经理想要真实的客户体验! Also, would be great if scripting can be done using Java, Javascript 另外,如果可以使用Java完成脚本编写,那就太好了

No record and playblack tools which identify based on the static text please !! 没有可以根据静态文本进行识别的记录和播放工具!

This is unfortunately one of the pit falls of front end automation. 不幸的是,这是前端自动化的陷阱之一。 The reality is a small change can make a very large impact on your automated scripts. 现实情况是,很小的变化会对自动化脚本产生很大的影响。 This is why most people suggest that you do not spend an inordinate amount of time on the front end and stick to unit/integration tests, and only automate ui functionality if you have no other choice. 这就是为什么大多数人建议您不要在前端花费过多的时间并坚持进行单元/集成测试,而在没有其他选择的情况下,只能自动执行ui功能。

I can't speak as to UI automation, or UI Instruments, but as far as Ranorex is concerned to make a more robust test the key is the xPath that Ranorex uses to track your elements. 我不能说UI自动化或UI Instruments,但是就Ranorex而言,要进行更强大的测试,关键是Ranorex用于跟踪元素的xPath。 The obvious answer is to track on the objects unique id, but this isn't always feasible. 显而易见的答案是跟踪对象的唯一ID,但这并不总是可行的。 What you can do is find an object above it that will be there, for instance instead of finding a specific table element, find the table, and programmatically create the adapters for the element on that table, then find the element you are looking for from one of it's properties, inner text/tag value/any available property. 您所能做的就是在其上方找到一个对象,例如,而不是查找特定的表元素,查找表并以编程方式为该表上的元素创建适配器,然后从中查找要查找的元素。它的属性之一,内部文本/标签值/任何可用属性。 You will still run into situations where a ui change will cause script failures, that is unfortunately part of the process of front end automation. 您仍然会遇到UI更改将导致脚本失败的情况,不幸的是,这是前端自动化过程的一部分。

I don't personally recommend using your source code for your front end testing, it can cause unrealistic scenarios that can actually cause more problems than they actually help find. 我个人不建议您使用源代码进行前端测试,因为它可能会导致不切实际的情况,而这些情况实际上可能导致比实际发现的问题更多的问题。 The true answer here is to think of your front end automation as a last resort for testing, and if you can test something in another way to use that other way. 真正的答案是将前端自动化视为测试的最后手段,以及是否可以通过其他方式测试某些东西以使用其他方式。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM