我正在为网站写一些简单的e2e测试。
网站上有一个隐藏的叠加层,这就是我在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)
我认为我的选择器确实是一个字符串,它可以在我的浏览器中运行...
有人请指出代码有什么问题吗?提前谢谢!
答案 0 :(得分:1)
您发布的代码在CSS选择器周围有一个严重的(`)而不是单引号(')。尝试用'替换坟墓。这应该解决它。