Tôi tìm thấy một giải pháp, chỉ cần thay đổi thông điệp ...:
casper.test.on("fail", function(failure) {
failure.message = "Message : " + failure.message + "\nLine : "+ failure.line + "\nCode : " + failure.lineContents;
});
Lỗi resume stack (với test.begin) cũng được sửa đổi mặc dù. Nhưng tôi không quan tâm đến jenkins, vì vậy chúng tôi có thể sử dụng một điều kiện như if casper.cli.get('xunit') { casper.test.on('fail'){...} ;}
.
Và như vậy:
Thay đơn giản thực sự ... Tôi cần phải tìm kiếm tốt hơn.
Đối Artjom:
Trong thực tế cho các lỗi nó khá dài dòng vì vậy tôi không nghĩ rằng có sự thay đổi để làm, xem:
Nhưng bạn vẫn có thể tùy chỉnh nó theo cùng một cách và nó có thể là một cái gì đó như thế:
casper.test.on("fail", function(failure) {
//if error type undefined function
if(failure.message.message){//or failure.message.stack.TypeError
failure.message.message = "Message : " + failure.message.message + "\nLine : "+ failure.message.line;//in jenkins -> title
}
//else assert error
else{failure.message = "Message : " + failure.message + "\nLine : "+ failure.line + "\nCode : " + failure.lineContents;}
//console.log(JSON.stringify(failure,4,'\t')); //see parameters you can modify in the failure object
});
có không phải là một sự kiện lỗi, nhưng khác nhau đối tượng thích hợp- mối quan hệ- (so với loại lỗi) trong sự kiện không thành công này. Vì vậy, bạn có thể thao tác chúng theo cách bạn muốn. Nhưng cá nhân tôi quan tâm bởi tin nhắn, mã và dòng (và theo mặc định jenkins quản lý chúng với lỗi không xác định).
Bây giờ tôi đang làm việc trên một cách để hiển thị cũng là con đường chụp màn hình, để có một cái gì đó như thế:
Message : No notice on the page
Line : 83
Code : this.test.assertTextDoesntExists('Notice', 'No notice on the page');
Screenshot : http://-jenkins-/job/-myJob-//lastFailedBuild/artifact/screenshots/fail0.png/
Vâng, tôi đã làm điều đó:https://github.com/n1k0/casperjs/pull/920
Mục đích là để nhấn trên liên kết trong jenkins và màn hình hiển thị trực tiếp bằng cách sử dụng trình duyệt :)
Điều này cũng làm việc cho các lỗi (tức là chức năng gọi trên không xác định)? Có một 'on (" lỗi ", hàm ...'? –
Có, điểm tốt, tôi chỉnh sửa nó để tính đến điều đó. – Fanch