Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Selenium Webdriver (node.js) take screenshot and save test results

I started developing tests for a website application and I have some problems.

I'm using Node.js, webdriver, chromedriver and selenium rc.

The questions are: 1. How do I make a screenshot and save it in the same folder as the script. 2. Is there a way to save the test logs for a test case? For example, if check for an element on the page and don't find it, how do I output that?

like image 480
paz Avatar asked Apr 08 '14 13:04

paz


1 Answers

For saving the test logs you typically use a test runner. When you check if an element is on the page and you can't find it then you raise an exception (typically an assertion error) and the test runner will record this and mark it as a failed test. In the documentation they suggest you use Mocha.

As for saving a screenshot to disk, the the api looks like this

driver.takeScreenshot().then(     function(image, err) {         require('fs').writeFile('out.png', image, 'base64', function(err) {             console.log(err);         });     } ); 
like image 175
aychedee Avatar answered Sep 20 '22 18:09

aychedee