Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(218)

Unified Diff: tools/telemetry/telemetry/page/page_set_unittest.py

Issue 180873008: Add support for python pageset (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove attributes from page constructor Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/telemetry/telemetry/page/page_set.py ('k') | tools/telemetry/telemetry/page/page_test.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/telemetry/telemetry/page/page_set_unittest.py
diff --git a/tools/telemetry/telemetry/page/page_set_unittest.py b/tools/telemetry/telemetry/page/page_set_unittest.py
index 38dbb064647c345397fee5950fa7537480e0b600..0c50571b3f30532fcf1d5829efadcd54fb3d9736 100644
--- a/tools/telemetry/telemetry/page/page_set_unittest.py
+++ b/tools/telemetry/telemetry/page/page_set_unittest.py
@@ -6,6 +6,7 @@ import os
import tempfile
import unittest
+from telemetry.core import util
from telemetry.page import page_set
@@ -33,10 +34,10 @@ simple_set = """
class TestPageSet(unittest.TestCase):
def testSimpleSet(self):
try:
- with tempfile.NamedTemporaryFile(delete=False) as f:
+ with tempfile.NamedTemporaryFile(delete=False, suffix=".json") as f:
f.write(simple_archive_info)
- with tempfile.NamedTemporaryFile(delete=False) as f2:
+ with tempfile.NamedTemporaryFile(delete=False, suffix=".json") as f2:
f2.write(simple_set % f.name.replace('\\', '\\\\'))
ps = page_set.PageSet.FromFile(f2.name)
@@ -86,10 +87,53 @@ class TestPageSet(unittest.TestCase):
},
]}, 'file://foo.js')
- self.assertEquals(ps.pages[0].RunNavigateSteps, {'action': 'navigate'})
+ self.assertTrue(hasattr(ps.pages[0], 'RunNavigateSteps'))
self.assertEquals(ps.pages[0].RunSmoothness, {'action': 'scroll'})
self.assertEquals(ps.pages[0].RunStressMemory, {'action': 'javasciprt'})
self.assertEquals(ps.pages[1].RunSmoothness, {'action': 'scroll'})
self.assertEquals(ps.pages[1].RunNavigateSteps, {'action': 'navigate2'})
self.assertEquals(ps.pages[1].RunRepaint, {'action': 'scroll'})
+
+ def testRunNavigateStepsInheritance(self):
+ ps = page_set.PageSet.FromDict({
+ 'serving_dirs': ['a/b'],
+ 'navigate_steps' : { 'action' : 'navigate1' },
+ 'pages': [
+ {'url': 'http://www.foo.com',
+ },
+ {'url': 'http://www.bar.com',
+ 'navigate_steps': {'action': 'navigate2'},
+ },
+ ]}, 'file://foo.js')
+
+ self.assertEquals(ps.pages[0].RunNavigateSteps, {'action': 'navigate1'})
+ self.assertEquals(ps.pages[1].RunNavigateSteps, {'action': 'navigate2'})
+
+
+ def testSuccesfulPythonPageSetLoading(self):
+ test_pps_dir = os.path.join(util.GetUnittestDataDir(), 'test_page_set.py')
+ pps = page_set.PageSet.FromFile(test_pps_dir)
+ self.assertEqual('TestPageSet', pps.__class__.__name__)
+ self.assertEqual('A pageset for testing purpose', pps.description)
+ self.assertEqual('data/test.json', pps.archive_data_file)
+ self.assertEqual('data/credential', pps.credentials_path)
+ self.assertEqual('desktop', pps.user_agent_type)
+ self.assertEqual(test_pps_dir, pps.file_path)
+ self.assertEqual(1, len(pps.pages))
+ google_page = pps.pages[0]
+ self.assertEqual('https://www.google.com', google_page.url)
+ self.assertIs(pps, google_page.page_set)
+ self.assertTrue(hasattr(google_page, 'RunNavigateSteps'))
+ self.assertTrue(5, google_page.RunGetActionRunner(action_runner=5))
+
+ def testMultiplePythonPageSetsLoading(self):
+ test_pps_1_dir = os.path.join(util.GetUnittestDataDir(),
+ 'test_simple_one_page_set.py')
+ test_pps_2_dir = os.path.join(util.GetUnittestDataDir(),
+ 'test_simple_two_page_set.py')
+ pps1 = page_set.PageSet.FromFile(test_pps_1_dir)
+ pps2 = page_set.PageSet.FromFile(test_pps_2_dir)
+
+ self.assertEqual('TestSimpleOnePageSet', pps1.__class__.__name__)
+ self.assertEqual('TestSimpleTwoPageSet', pps2.__class__.__name__)
« no previous file with comments | « tools/telemetry/telemetry/page/page_set.py ('k') | tools/telemetry/telemetry/page/page_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698