phantom.js 936B

12345678910111213141516171819202122232425262728293031323334
  1. var page = require('webpage').create()
  2. page.open('http://localhost:1234', function() {
  3. function f() {
  4. setTimeout(function () {
  5. var clsName = page.evaluate(function() {
  6. var el = document.getElementById('tests')
  7. return el.className
  8. })
  9. if (!clsName.match(/sink-done/)) f()
  10. else {
  11. var count = 0
  12. var fail = page.evaluate(function () {
  13. var t = ''
  14. var els = document.querySelectorAll('ol#tests .fail .fail')
  15. for (var i = 0; i < els.length; i++) {
  16. t += els[i].textContent + '\n'
  17. }
  18. return {text: t, count: els.length}
  19. })
  20. var pass = !!clsName.match(/sink-pass/)
  21. if (pass) console.log('All tests have passed!')
  22. else {
  23. console.log(fail.count + ' test(s) failed')
  24. console.log(fail.text.trim())
  25. }
  26. phantom.exit(pass ? 0 : 1)
  27. }
  28. }, 10)
  29. }
  30. f()
  31. })