如果多个元素具有相同的名称,并且元素没有唯一的id。我们如何使用winium进行自动化测试?
是否可以使用可点击点坐标进行自动化?
答案 0 :(得分:1)
如果您知道您感兴趣的元素的位置不会改变,那么您可以首先获得与您要识别的名称相匹配的所有元素的列表。遍历列表并打印出坐标。然后确定哪一个是您想要的那个,并使用这些坐标单击该元素。我相信(0,0)是屏幕的左上角。
有时我发现我可以通过查找其父元素或子元素来识别与其他元素同名的元素。这仅在父/子元素与具有相同名称的其他元素不同时才有效。这很烦人,但有时候我必须找到一个独特的子元素,然后让父元素2级别高于该元素。因为该子元素是唯一的唯一标识符。
答案 1 :(得分:1)
您可以继续使用 XPath 定位器来使用 winium 进行测试。 XPath 允许你为你想要的元素构建查询,并使用 UISpy 用来识别元素的元素的不同属性。但是,这可能需要您以缩小每个级别的搜索范围的方式编写 XPath。
我在网上某处找到了这个例子。这更多是为了缩小方法。
例如 /[@AutomationId='MyMainWindow']//[@Name='Add Event'] 将优于 //*[@Name='Add Event'] 作为前者在顶层的范围比后者要有限得多。