Dalek.js没有设置元素值

时间:2015-04-07 00:34:22

标签: dalekjs

尝试使用.type操作失败。这是在使用angular的Web应用程序上,不确定它是否与它相关。

我可以获取断言属性和元素的存在,但尝试使用.type或.setValue失败

这是测试

module.exports = {
  'Smoke test app.ablio': function (test) {
test
  .open('http://app.ablio.com')
  .assert.title().is('ablio :: Communication Without Barriers', 'Title OK')
  .open('https://app.ablio.com/signin')
  .assert.attr('#sign-in', 'type', 'submit', "submit signin form exists")
  .assert.exists('#username', "username form field exists")
  .assert.attr('#username', 'type', 'text', "username form field is type text")
  .assert.exists('#password', "password form field exists")
  .assert.attr('#password', 'type', 'password',"password form field is type password")
  .type('#username', 'testuser')
  .assert.val('#username', 'testuser', 'Username was entered')
  .screenshot ('shots/final.png')
  .done(); 
   }
 };

assert.val()失败:

输出:

dalek smoketest.js 
Running tests
Running Browser: PhantomJS
OS: mac 10.10 (Yosemite) 32bit
Browser Version: 1.9.8

 RUNNING TEST - "Smoke test app.ablio"
▶ OPEN http://app.ablio.com
✔ TITLE Title OK
▶ OPEN https://app.ablio.com/signin
✔ ATTRIBUTE submit signin form exists
✔ EXISTS username form field exists
✔ ATTRIBUTE username form field is type text
✔ EXISTS password form field exists
✔ ATTRIBUTE password form field is type password
▶ TYPE #username
✘ VAL
0 EXPECTED: testuser
0 FOUND: 
0 MESSAGE: Username was entered
▶ SCREENSHOT shots/final.png
✘ TEST - "Smoke test app.ablio" FAILED

 6/7 assertions passed. Elapsed Time: 8.55 sec 

DalekJS CLI工具版本:0.0.5 DalekJS本地安装:0.0.9

2 个答案:

答案 0 :(得分:0)

这解决了问题,并提供对角度的支持:http://gist.github.com/ryanzec/7546175

答案 1 :(得分:0)

扫描页面的DOM&在那里你会看到你有两个id为username的输入。一方面是无效的,第二,你试图填充的username是DOM层次结构中的第二位。如果它是第一个,它甚至可以工作,无论DOM是无效的。

我不认为这是Angular特定的事情,因为我很难相信Angular本身会生成无效的DOM。