lundi 30 mars 2015

Testing multiple HTML pages with CasperJS?

I'm working with CasperJS on a webpage that has a search box. Using Casper, I'm successfully able to perform a search and see that the form is filled and execute the search, however I'm having trouble specifically getting the number of results to test that it's valid.


When I look at the source of the webpage, I have the XPath of the element and it's nested in a few divs.


But when I try to either do assertExists() on that path, or even return the result of getElementByXPath to a var, it doesn't work.


This is the XPath:



//*[@id="total"]


Here is what the snippet of source looks like:



<div id="pgContent"><div id="results_pagination1_container">
<span style="float: right; font-size: .9em">
Found <span id="total">721</span> item(s)</span>
</div>


This is the CasperJS code, relevant to here.


`



casper.test.begin(

'Testing that we get the right amount of results for a search query',

2, function suite(test) {
casper.start(catapult, function() {
test.assertTitle("Search", "Search"); // Good
test.assertExists('#input-searchbox'); // Good
this.fillSelectors('form#inputForm', {
'input[name="queryStr"]' : 'airplane'
}, true);

//this.click('input#btnSearch');
});
casper.then(function() {
var resultsNum = __utils__.getElementByXPath('//*[@id="total"]');
this.echo(resultsNum);
test.assertExists('//*[@id="total"]');



});`

Aucun commentaire:

Enregistrer un commentaire