如何使用Chai模拟点击隐藏元素?
How to use Chai to simulate clicking on a hidden element?
我正在为网站编写一些简单的端到端测试。
网站上有一个隐藏的叠加层,这是我在 Chrome 控制台中所做的并且有效。
在我的代码中,我有如下内容:
it('v3::projects should be runnable', () => {
const element = browser
.executeAsync((done) => {
done($(`.project-list #app${window.Project.first().cid} .card .overlay .icons a`)[0])
})
const result = browser
.url('/workspace/apps')
.click(element)
.waitForVisible(`#simulator-wrapper`, 6 * 1000)
return expect(result).to.be.true
})
它总是说
v3 runnable v3::projects should be runnable:
selector needs to be typeof `string`
running chrome
Error: selector needs to be typeof `string`
at Promise.F (node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js:35:28)
at element([object Object]) - click.js:12:17
at click([object Object]) - at Context.it (__tests__/e2e/v3_runnable.spec.js:47:8)
我认为我的选择器确实是一个字符串并且它在我的浏览器中有效...
有人能指出代码有什么问题吗?提前致谢!
您发布的代码在 CSS 选择器周围有一个重音符号 (`) 而不是单引号 (')。尝试用 ' 替换坟墓,应该可以解决问题。
我正在为网站编写一些简单的端到端测试。
网站上有一个隐藏的叠加层,这是我在 Chrome 控制台中所做的并且有效。
在我的代码中,我有如下内容:
it('v3::projects should be runnable', () => {
const element = browser
.executeAsync((done) => {
done($(`.project-list #app${window.Project.first().cid} .card .overlay .icons a`)[0])
})
const result = browser
.url('/workspace/apps')
.click(element)
.waitForVisible(`#simulator-wrapper`, 6 * 1000)
return expect(result).to.be.true
})
它总是说
v3 runnable v3::projects should be runnable:
selector needs to be typeof `string`
running chrome
Error: selector needs to be typeof `string`
at Promise.F (node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js:35:28)
at element([object Object]) - click.js:12:17
at click([object Object]) - at Context.it (__tests__/e2e/v3_runnable.spec.js:47:8)
我认为我的选择器确实是一个字符串并且它在我的浏览器中有效...
有人能指出代码有什么问题吗?提前致谢!
您发布的代码在 CSS 选择器周围有一个重音符号 (`) 而不是单引号 (')。尝试用 ' 替换坟墓,应该可以解决问题。