如何在屏幕外执行动作typeText()和React Native TextInput(position:absolute,right:-99)

时间:2018-02-06 07:44:00

标签: detox

我在屏幕外面有TextInput样式{position:'absolute',right:-99}, 当我调用action typeText()时,我收到此错误

“错误:错误:由于约束失败,无法执行操作。 行动异常:{   “行动名称”:“点击”,   “元素描述”:“”,   “失败的约束”:“互动”,   “所有的约束(S)”:“((isSystemAlertViewShown)及;及((respondsToSelector(isAccessibilityElement)及;&安培; isAccessibilityElement)|| kindOfClass( '的UIView'))及;及(启用&安培;&放大器;! ((kindOfClass('UIView')|| respondsToSelector(accessibilityContainer))&& ancestorThatMatches(!(enabled)))))&& interactable)“,   “恢复建议”:“调整元素属性,使其与失败的约束匹配。” }

[   {     “描述”:“由于约束失败而无法执行操作。”,     “错误域”:“com.google.earlgrey.ElementInteractionErrorDomain”,     “错误代码”:“1”,     “文件名”:“GREYBaseAction.m”,     “函数名称”:“ - [GREYBaseAction satisfiesConstraintsForElement:error:]”,     “线”:“66”   } ] “ 如何使用屏幕外的React Native TextInput执行动作typeText()

1 个答案:

答案 0 :(得分:0)

为了使Detox与元素交互,元素需要通过可见性标准。我认为标准是75%的可见度。

detox/docs/Introduction.WritingFirstTest.md

  

请注意,visibilty匹配器确保元素在屏幕上实际可见(至少75%是准确的)。如果它出现在折叠下(例如,用户必须滚动查看它),则此特定匹配器将失败。


总而言之,当输入字段在屏幕外时,我看不出如何输入文本。