Ember.js Octane验收测试:fillIn无法找到data-test-code-nav-selector元素
Ember.js Octane验收测试中fillIn无法找到data-test属性元素的解决方法
你调用fillIn时用错了选择器格式——直接写data-test-code-nav-selector会被当作标签名解析,而不是匹配属性,这才导致找不到目标元素。
修正后的代码
await this.pauseTest(); await fillIn('[data-test-code-nav-selector]', 'PDF_I10_PCS_REFERENCE_MANUAL');
关键说明
- CSS属性选择器语法:要匹配带
data-test-code-nav-selector属性的元素,必须使用[属性名]的CSS选择器格式。如果属性有具体值,也可以写成[data-test-code-nav-selector="目标值"],这里你的属性值为空,直接用[data-test-code-nav-selector]就能匹配。 - 异步方法必须加await:
fillIn是返回Promise的异步方法,必须用await等待执行完成,否则可能出现时序相关的问题,哪怕你用了pauseTest,规范写法也不能省略。
额外排查点(如果修正后仍有问题)
- 用
waitFor确保元素渲染完成:如果元素是动态加载/渲染的,可以先等待元素出现再执行fillIn:await waitFor('[data-test-code-nav-selector]'); await fillIn('[data-test-code-nav-selector]', 'PDF_I10_PCS_REFERENCE_MANUAL'); - 核对属性名拼写:确认测试代码里的属性名和DOM中的完全一致,比如有没有大小写、字符拼写错误。
内容的提问来源于stack exchange,提问作者Display name
相关产品推荐
相关产品推荐

