Skip to content

Commit 0fb98f2

Browse files
committed
[test] cases for node in webview nwjs#4780
1 parent 563bc80 commit 0fb98f2

File tree

15 files changed

+314
-0
lines changed

15 files changed

+314
-0
lines changed
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
chrome.app.runtime.onLaunched.addListener(function() {
2+
chrome.app.window.create('window.html', {
3+
'outerBounds': {
4+
'width': 800,
5+
'height': 600,
6+
'minWidth': 320,
7+
'minHeight': 320
8+
}
9+
});
10+
});
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"name": "Furious Scrolling",
3+
"description": "Test app for webview element.",
4+
"version": "0.1",
5+
6+
"main": "background.js",
7+
8+
"window": {
9+
"show": false
10+
},
11+
"webview": {
12+
"partitions": [
13+
{
14+
"name": "trusted*",
15+
"accessible_resources": ["*"]
16+
}
17+
]
18+
}
19+
}

test/sanity/webview-node-neg/test.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import time
2+
import os
3+
import urlparse, urllib
4+
import sys
5+
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
6+
from nw_util import *
7+
8+
def path2url(path):
9+
return urlparse.urljoin(
10+
'file:', urllib.pathname2url(path))
11+
12+
from selenium import webdriver
13+
from selenium.webdriver.chrome.options import Options
14+
15+
testdir = os.path.dirname(os.path.abspath(__file__))
16+
os.chdir(testdir)
17+
18+
chrome_options = Options()
19+
chrome_options.add_argument("nwapp=" + testdir)
20+
chrome_options.add_experimental_option("windowTypes", ["webview"])
21+
22+
capabilities = {"pageLoadStrategy": "none"}
23+
24+
driver = webdriver.Chrome(executable_path=os.environ['CHROMEDRIVER'], chrome_options=chrome_options, desired_capabilities = capabilities, service_log_path="log", service_args=["--verbose"])
25+
driver.implicitly_wait(5)
26+
time.sleep(1)
27+
try:
28+
print driver.current_url
29+
wait_switch_window_name(driver, 'webview0')
30+
result = driver.find_element_by_id('ret').get_attribute('innerHTML')
31+
print result
32+
assert('version = undefined' in result)
33+
finally:
34+
driver.quit()
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="UTF-8">
5+
<script> window.name = 'webview0' </script>
6+
</head>
7+
<body>
8+
<p> this is webview </p>
9+
<script>
10+
document.write("<p id='ret'>process.version = " + typeof(process) + "</p>");
11+
</script>
12+
</body>
13+
</html>
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="UTF-8">
5+
<style type="text/css">
6+
html, body, webview {
7+
display: block;
8+
margin: 0; padding: 0; border: 0;
9+
width: 100%; height: 100%;
10+
}
11+
12+
html, body {
13+
overflow: hidden;
14+
}
15+
16+
webview {
17+
position: absolute;
18+
top: 0; left: 0;
19+
}
20+
</style>
21+
</head>
22+
<body>
23+
<webview src="webview.html" partition="persist:trusted"></webview>
24+
</body>
25+
</html>
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
chrome.app.runtime.onLaunched.addListener(function() {
2+
chrome.app.window.create('window.html', {
3+
'outerBounds': {
4+
'width': 800,
5+
'height': 600,
6+
'minWidth': 320,
7+
'minHeight': 320
8+
}
9+
});
10+
});
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"name": "Furious Scrolling",
3+
"description": "Test app for webview element.",
4+
"version": "0.1",
5+
6+
"main": "background.js",
7+
8+
"window": {
9+
"show": false
10+
},
11+
"webview": {
12+
"partitions": [
13+
{
14+
"name": "trusted*",
15+
"accessible_resources": ["*"]
16+
}
17+
]
18+
}
19+
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import time
2+
import os
3+
import urlparse, urllib
4+
import sys
5+
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
6+
from nw_util import *
7+
8+
from selenium import webdriver
9+
from selenium.webdriver.chrome.options import Options
10+
from selenium.webdriver.common import utils
11+
12+
testdir = os.path.dirname(os.path.abspath(__file__))
13+
os.chdir(testdir)
14+
15+
svrprog = os.path.abspath(os.path.join(os.path.dirname(testdir), 'http-server.py'))
16+
17+
port = str(utils.free_port())
18+
server = subprocess.Popen(['python', svrprog, port])
19+
20+
tpl = open('window.tpl', 'r')
21+
content = tpl.read().replace('{port}', port)
22+
tpl.close()
23+
24+
html = open('window.html', 'w')
25+
html.write(content)
26+
html.close()
27+
28+
chrome_options = Options()
29+
chrome_options.add_argument("nwapp=" + testdir)
30+
chrome_options.add_experimental_option("windowTypes", ["webview"])
31+
32+
capabilities = {"pageLoadStrategy": "none"}
33+
34+
driver = webdriver.Chrome(executable_path=os.environ['CHROMEDRIVER'], chrome_options=chrome_options, desired_capabilities = capabilities, service_log_path="log", service_args=["--verbose"])
35+
driver.implicitly_wait(5)
36+
time.sleep(1)
37+
try:
38+
print driver.current_url
39+
#time.sleep(1000)
40+
wait_switch_window_name(driver, 'webview0')
41+
result = driver.find_element_by_id('ret').get_attribute('innerHTML')
42+
print result
43+
assert('version = v' in result)
44+
finally:
45+
driver.quit()
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="UTF-8">
5+
<script> window.name = 'webview0' </script>
6+
</head>
7+
<body>
8+
<p> this is webview </p>
9+
<script>
10+
document.write("<p id='ret'>process.version = " + process.version + "</p>");
11+
</script>
12+
</body>
13+
</html>
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="UTF-8">
5+
<style type="text/css">
6+
html, body, webview {
7+
display: block;
8+
margin: 0; padding: 0; border: 0;
9+
width: 100%; height: 100%;
10+
}
11+
12+
html, body {
13+
overflow: hidden;
14+
}
15+
16+
webview {
17+
position: absolute;
18+
top: 0; left: 0;
19+
}
20+
</style>
21+
</head>
22+
<body>
23+
<webview src="http://localhost:{port}/webview.html" partition="persist:trusted" allownw></webview>
24+
</body>
25+
</html>

0 commit comments

Comments
 (0)