RanorexPath属性不匹配

RanorexPath属性不匹配,xpath,ranorex,Xpath,Ranorex,问题:属性与指定的值不匹配: 验证失败:项“CommonRepository.MyApp.InfoTab.StatusWaitingForNewRound”的元素属性“Text”与指定的值不匹配(实际值='Status:Waiting for start',预期值='Status:Waiting for new round')。 此回购项目的我的路径://text[@automationid='textGameStatus'和@text='Status:等待新一轮'或@text='Status:

问题:属性与指定的值不匹配:

验证失败:项“CommonRepository.MyApp.InfoTab.StatusWaitingForNewRound”的元素属性“Text”与指定的值不匹配(实际值='Status:Waiting for start',预期值='Status:Waiting for new round')。

此回购项目的我的路径:
//text[@automationid='textGameStatus'和@text='Status:等待新一轮'或@text='Status:等待开始']

正如您所看到的,我使用的是“或”,因此我希望它可以接受其中一种,如果两者都没有,那么它应该失败,但实际上它不是这样工作的


我做错了什么?谢谢。

Ranorex路径只是在应用程序中搜索元素。如果元素的文本值为“状态:等待新一轮”或“状态:等待开始”,Ranorex将查找该元素。在验证步骤中,您将根据特定值进行验证(状态:等待新一轮)。在我看来,等待开始和等待新一轮是两个不同的情况。

如果你认为“状态:等待”是一个正确的价值,为什么不先用“(>)符号:

或者可以使用正则表达式(~)符号:

或者,您可以使用//text[@automationid='textGameStatus']创建一个repo项目,并读取其@text属性,然后将其与预定义的字符串列表(或用户代码中的regex)进行比较

不要忘记使用spy验证您的回购项目是否适用于所有受支持的情况

如果您正确映射了回购项目,则它应按预期工作

希望有帮助

//text[@automationid='textGameStatus' and @text>'Status: Waiting for']
//text[@automationid='textGameStatus' and @text~'Status: Waiting for.+']