2017-04-24 26 views
0

我正在爲網站編寫一些簡單的e2e測試。如何使用Chai模擬點擊隱藏的元素?

網站上有一個隱藏的疊加層,這就是我在Chrome控制檯中所做的工作。

console

而且在我的代碼,我有類似下面的東西:

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) 

我覺得我的選擇確實是一個字符串,它的作品在我的瀏覽器...

有人請指出什麼是錯的用代碼?提前致謝!

回答

1

您發佈的代碼在CSS選擇器周圍有一個嚴重(`)而不是單引號(')。嘗試用'替換墳墓',那應該解決它。

+0

看來,ES6的功能不支持在這裏......謝謝! – Kulbear

+0

我試過'完成($('。project-list #app'+ window.Project.first().cid +'.card .overlay .icons a')[0])'但它仍然不起作用 – Kulbear

+0

「不起作用」是什麼意思?錯誤或? – JeffC