Tôi đang sử dụng đoạn mã sau để tải một số dữ liệu JSON vào một biến trong casperJS kịch bản của tôi:Làm thế nào để tải JSON qua get vào biến trong CasperJS kịch bản
var casper = require("casper").create({
verbose: true,
logLevel: 'debug',
pageSettings: {
userName: 'dev',
password: 'devpass',
}
});
var baseUrl = 'http://mysite.com/';
casper.start().then(function() {
this.open(baseUrl + 'JSON-stuff', {
method: 'get',
headers: {
'Accept': 'application/json'
}
});
});
casper.run(function() {
var journalJson = JSON.parse(this.getPageContent());
require('utils').dump(journalJson); //this returns my json stuff as expected
this.exit();
});
này hoạt động giống như tôi muốn - Tôi có đối tượng journalJson mà tôi cần xử lý. Tuy nhiên, tôi không chắc chắn làm thế nào để tiếp tục với thử nghiệm của tôi. các chức năng khác bổ sung vào casper.run() không thực hiện như mong đợi ... ví dụ, nếu tôi thay đổi chức năng casper chạy đến:
casper.run(function() {
var journalJson = JSON.parse(this.getPageContent());
require('utils').dump(journalJson);
this.open(baseUrl).then(function() {
this.assertExists('#header');
});
this.exit();
});
sau đó phantomjs bản ghi rằng url được yêu cầu, nhưng các thử nghiệm là không bao giờ chạy.
Câu hỏi của tôi: Làm cách nào để truy cập JSON qua nhận và sau đó sử dụng nó để thực hiện kiểm tra? Tôi nghĩ rằng tôi đang thiếu thứ gì đó ở đây ...
Hi, tôi có cùng một vấn đề tôi muốn nói chúng tôi đã có được nạp JSON nhưng làm thế nào tôi có thể lấy nó làm việc trong một trường hợp đó sẽ là một mảng các URL mà tôi muốn để lặp lại và nhận mã phản hồi? – Denis