【发布时间】:2020-02-25 22:43:04
【问题描述】:
我一直在测试一个桌面应用程序 (WPF)。使用中:C#、Appium、WinAppDriver。 一个菜单中有多个数字文本框。 我在这里遇到的问题是我无法访问此页面上特定文本框的 UpButton,因为所有 Up/Down 按钮都具有相同的 ID“PART_IncreaseButton”。
它是一个数字文本框,带有内置的上下控制。一个菜单中有几个。 textbox
我使用 inspect.exe 来识别对象。 检查器中的树: inspect screenshot
所以在自定义下是文本框“编辑”、“按钮”、“按钮”的 3 个控件 使用 “Root_0_Blue_AutomationId” 我可以访问文本框,例如在框中写一些东西。
但如果我检查特定文本框的向上按钮,它的自动化 ID “Part_IncreaseButton”。并且其他文本框的 upcontrols 具有相同的 ID。 只有rootID的AutomationID不同,upcontrols的ID保持不变,例如:
根 ID(文本框):"Root_0_Blue_AutomationId" UpControl ID:"Part_Increasebutton"
根 ID(第二个文本框,绿色通道不同): “Root_0_Green_AutomationId” UpControl ID:“Part_Increasebutton”
如何管理它以访问第二个文本框的 UpControl?
【问题讨论】:
-
嗨@VanGoghh,欢迎来到 StackOverflow!请提供complete, minimal, reproducible example 您在代码中尝试过的内容、确切的错误消息(如果适用)以及您期望的结果!
-
同意@IvanGarcíaTopete,在这里非常欢迎您,但如果您期望得到高质量的答案,您的问题将需要满足上面评论中已经提到的标准。但也许,我可以帮助您自己解决问题:-)。我可以从您的问题中得出向上/向下按钮始终包含在文本框中吗?在这种情况下,如果文本框有一个唯一的自动化 ID,那么您就有了向上/向下按钮的相对坐标。
-
非常感谢您的欢迎,很抱歉没有提供更多信息。我会努力在未来变得更好:)。我已经编辑了我的问题,我希望现在更容易理解。谢谢
-
我已经发布了我的答案。我看到你已经打败了我;-)。既然已经写好了,就决定跟大家分享一下。如果您决定使用我的代码,请随意添加反馈。
标签: c# selenium appium winappdriver