Skip to content

Commit 60f6573

Browse files
committed
add case for capturePage
1 parent 74b2f4c commit 60f6573

File tree

4 files changed

+106
-0
lines changed

4 files changed

+106
-0
lines changed

test/remoting/capture_page/index.html

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
<html>
2+
<head>
3+
<meta charset="utf8">
4+
</head>
5+
6+
<body style="background: #333">
7+
<div id="message">
8+
<h1 style="color:red;">Please wait 1s for nw to render page</h1>
9+
<h2 style="color:red;">If you see a capture in popup window, this case passes</h2>
10+
</div>
11+
<script>
12+
var gui = nw;
13+
var win = gui.Window.get();
14+
15+
var file_name = 'out.png';
16+
17+
function takeSnapshot() {
18+
var png_flag = false;
19+
var png_data = null;
20+
var jpg_flag = false;
21+
var jpg_data = null;
22+
win.capturePage(function(img) {
23+
png_data = img;
24+
png_flag = true;
25+
}, 'png');
26+
win.capturePage(function(img){
27+
jpg_data = img;
28+
jpg_flag = true;
29+
},'jpeg');
30+
31+
setTimeout(function(){
32+
if (png_flag && jpg_flag){
33+
gui.Window.open('popup.html', function(win) {
34+
win.on('loaded',function(){
35+
console.log('loaded called');
36+
win.window.document.getElementById('png').src=png_data;
37+
win.window.document.getElementById('jpg').src=jpg_data;
38+
});
39+
});
40+
}
41+
},2000);
42+
};
43+
44+
nw.process.on('exit',function(){
45+
var fs = require('fs');
46+
if ( fs.existsSync(file_name) ){
47+
fs.unlinkSync(file_name);
48+
}
49+
});
50+
51+
window.onload = function(){
52+
//nw need some time to render page
53+
setTimeout(takeSnapshot,1000);
54+
};
55+
</script>
56+
<div style="background: #123; width:100px; height:100px; border:1px solid
57+
#000">
58+
</div>
59+
</body>
60+
</html>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"name":"nw_1403500501",
3+
"main":"index.html",
4+
"dependencies":{}
5+
}

test/remoting/capture_page/popup.html

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<html>
2+
<head>
3+
<title>Popup window</title>
4+
<style>
5+
</style>
6+
</head>
7+
<body>
8+
<div>
9+
<label>JPEG</label>
10+
<img id="jpg"/ src="">
11+
</div>
12+
<div>
13+
<label>PNG</label>
14+
<img id="png" src=""></img>
15+
16+
<script type="text/javascript">
17+
var win = nw.Window.get();
18+
win.maximize();
19+
</script>
20+
</div>
21+
</body>
22+
</html>

test/remoting/capture_page/test.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import time
2+
import os
3+
4+
from selenium import webdriver
5+
from selenium.webdriver.chrome.options import Options
6+
chrome_options = Options()
7+
chrome_options.add_argument("nwapp=" + os.path.dirname(os.path.abspath(__file__)))
8+
9+
driver = webdriver.Chrome(executable_path=os.environ['CHROMEDRIVER'], chrome_options=chrome_options)
10+
try:
11+
print driver.current_url
12+
time.sleep(5)
13+
driver.switch_to_window(driver.window_handles[-1])
14+
img = driver.find_element_by_id('png')
15+
assert(img.size['width'] > 50 and img.size['height'] > 50)
16+
img2 = driver.find_element_by_id('jpg')
17+
assert(img.size['height'] == img2.size['height'] and img.size['width'] == img2.size['width'])
18+
finally:
19+
driver.quit()

0 commit comments

Comments
 (0)