Appium:使用 pytesseract 而不是定位器来识别 iOS 元素

问题描述 投票:0回答:1

下面是我们测试中的应用程序的快照。 React Native 中的 iOS 应用程序。层次太深了。 test image

我们已经使用 snapshotmaxdepth - 60 作为功能之一。

其他功能包括 udid、bundleid、includeSafariInWebViews、connectHardwarekeyboard、simpleVisibleCheck 和 UseNativeCaching Strategy 等...

开发伙伴建议使用pytesseract来提取portfolioNumberValue,并对pytesseract在该场景的应用产生了争论。

这只是我们在使用元素属性(accessibilityid、classchain 等)进行识别时遇到问题的许多元素之一。在所选元素列表中看不到该值。

我从稳定性、超正方体的不正确应用、性能、可靠性和务实的解决方案中看到了使用权的很多缺点。

我们仅在 iOS 上有问题,在 Android 上没有问题

问题:

在 selenium 自动化中使用 pytesseract 来识别 iOS 元素是通用做法吗? (我们的框架是python/pytest)

我们还有哪些其他选项来实现自动化?

还有其他建议吗?

多次返回开发供应商以增加深度/导航,这对某些人有用,但现在他们说使用 pytesseract

selenium-webdriver pytest appium ui-automation python-tesseract
1个回答
0
投票

当然,最好的方法是要求您的开发人员将此值作为属性添加到 DOM,这样您就可以使用 Appium 读取它。

OCR 可能是一种选择。然而,正如您已经提到的,这种方法不会那么有效和有弹性。 Tesseract 的优点在于它是一个开源解决方案。如果您在预算方面有一定的灵活性,您可以考虑商业解决方案,例如AWS Rekognition

© www.soinside.com 2019 - 2024. All rights reserved.