Używam następujący kod załadować niektórych danych JSON do zmiennej w moim casperJS skryptu:Jak załadować JSON poprzez dostać się do zmiennej w skrypcie CasperJS
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();
});
To działa jak chcę - mam obiekt journalJson, który muszę wykonać przetwarzanie. Jednak nie jestem pewien, jak kontynuować moje testy. Inne funkcje dodane do casper.run() nie wykonać zgodnie z oczekiwaniami ... na przykład w przypadku zmiany funkcji run Casper do:
casper.run(function() {
var journalJson = JSON.parse(this.getPageContent());
require('utils').dump(journalJson);
this.open(baseUrl).then(function() {
this.assertExists('#header');
});
this.exit();
});
następnie phantomjs dzienników, że adres URL jest wymagana, ale test nie jest biegać.
Moje pytanie: Jak uzyskać dostęp do JSON przez get, a następnie użyć go do przeprowadzenia testów? Myślę, że czegoś tu brakuje ...
Witam, mam ten sam problem mam na myśli, że już załadowany JSON, ale jak mogę dostać pracy w przypadku, gdy będzie tablicą adresów URL, które chcę iterować i otrzymywać kody odpowiedzi? – Denis