gpt4 book ai didi

ios - 排毒:iOS模拟器如何确认警报信息

转载 作者:技术小花猫 更新时间:2023-10-29 11:16:03 34 4
gpt4 key购买 nike

我正在使用来自 react-native 的警报。

如何按警报消息上的“注销”按钮进行排毒?

enter image description here

我尝试使用 await element(by.text('Log out')).tap();

但是我收到“匹配多个元素”的错误。据推测它找到了 3 个具有相同标签的元素。用于触发警报消息的带有“注销”标签的原始按钮、警报消息标题和我要排毒的警报消息按钮。

Error Trace: [
{
"Description" : "Multiple elements were matched: (
"<UILabel:0x7fe7964db910; AX=Y; AX.label='Log out'; AX.frame={{41, 234}, {238, 20.5}}; AX.activationPoint={160, 244.25}; AX.traits='UIAccessibilityTraitStaticText'; AX.focused='N'; frame={{16, 20}, {238, 20.5}}; opaque; alpha=1; UIE=N; text='Log out'>",
"<UILabel:0x7fe7964dda90; AX=Y; AX.label='Log out'; AX.frame={{198.5, 322.5}, {58, 20.5}}; AX.activationPoint={227.5, 332.75}; AX.traits='UIAccessibilityTraitStaticText'; AX.focused='N'; frame={{0, 12}, {58, 20.5}}; opaque; alpha=1; UIE=N; text='Log out'>",
"<RCTText:0x7fe79652f300; AX=Y; AX.label='Log out'; AX.frame={{16, 338.5}, {288, 17}}; AX.activationPoint={160, 347}; AX.traits='UIAccessibilityTraitStaticText'; AX.focused='N'; frame={{0, 0}, {288, 17}}; alpha=1>"
). Please use selection matchers to narrow the selection down to single element.",
"Error Domain" : "com.google.earlgrey.ElementInteractionErrorDomain",
"Error Code" : "5",
"File Name" : "GREYElementInteraction.m",
"Function Name" : "-[GREYElementInteraction grey_errorForMultipleMatchingElements:withMatchedElementsIndexOutOfBounds:]",
"Line" : "956"
}
]

我想一种方法是使用 .atIndex(),但这意味着每次发生变化时我都需要使用索引来确定正确的元素。

有没有更好的方法来解决这个问题?

谢谢。

最佳答案

经过一番修改后,我最终使用了这个:

await element(by.label('Log out').and(by.type('_UIAlertControllerActionView'))).tap();

不确定这是否适用于每个 iOS 版本,但似乎适用于 10.3 和 11.1

使用 Xcode 提供的 View Hierarchy Debugger 查看不同版本的 iOS 类型是否发生了变化。

关于ios - 排毒:iOS模拟器如何确认警报信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47522081/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com