OLD | NEW |
1 #!/usr/bin/python2.4 | 1 #!/usr/bin/python2.4 |
2 # Copyright 2009, Google Inc. | 2 # Copyright 2009, Google Inc. |
3 # All rights reserved. | 3 # All rights reserved. |
4 # | 4 # |
5 # Redistribution and use in source and binary forms, with or without | 5 # Redistribution and use in source and binary forms, with or without |
6 # modification, are permitted provided that the following conditions are | 6 # modification, are permitted provided that the following conditions are |
7 # met: | 7 # met: |
8 # | 8 # |
9 # * Redistributions of source code must retain the above copyright | 9 # * Redistributions of source code must retain the above copyright |
10 # notice, this list of conditions and the following disclaimer. | 10 # notice, this list of conditions and the following disclaimer. |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
52 import gflags | 52 import gflags |
53 import selenium_utilities | 53 import selenium_utilities |
54 | 54 |
55 | 55 |
56 class SampleTests(selenium_utilities.SeleniumTestCase): | 56 class SampleTests(selenium_utilities.SeleniumTestCase): |
57 """Tests a couple of samples in the o3d samples directory.""" | 57 """Tests a couple of samples in the o3d samples directory.""" |
58 | 58 |
59 # TODO: Change to correct object class when NPAPI class is exposed. | 59 # TODO: Change to correct object class when NPAPI class is exposed. |
60 SELENIUM_OBJ_TYPE = "[object HTMLObjectElement]" | 60 SELENIUM_OBJ_TYPE = "[object HTMLObjectElement]" |
61 | 61 |
62 def __init__(self, name, session, browser, path_to_html, test_type=None, | 62 def __init__(self, name, browser, path_to_html, test_type=None, |
63 sample_path=None, options=None): | 63 sample_path=None, options=None): |
64 selenium_utilities.SeleniumTestCase.__init__( | 64 selenium_utilities.SeleniumTestCase.__init__( |
65 self, name, session, browser, path_to_html, test_type, sample_path, | 65 self, name, browser, path_to_html, test_type, sample_path, |
66 options) | 66 options) |
67 | 67 |
68 def GenericTest(self): | 68 def GenericTest(self): |
69 """Generically test a sample. | 69 """Generically test a sample. |
70 | 70 |
71 Each sample is expected to have a global variable called g_finished | 71 Each sample is expected to have a global variable called g_finished |
72 which is set to true when it is finished initializing and is in a state | 72 which is set to true when it is finished initializing and is in a state |
73 ready for a screenshot. | 73 ready for a screenshot. |
74 """ | 74 """ |
75 self.RunGenericTest( | 75 self.RunGenericTest( |
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
307 # Figure out how many options there are. | 307 # Figure out how many options there are. |
308 num_shaders = s.get_eval( | 308 num_shaders = s.get_eval( |
309 "window.document.getElementById('shaderSelect').length") | 309 "window.document.getElementById('shaderSelect').length") |
310 | 310 |
311 # try each shader | 311 # try each shader |
312 for shader in range(0, int(num_shaders)): | 312 for shader in range(0, int(num_shaders)): |
313 # select shader | 313 # select shader |
314 s.select("//select[@id='shaderSelect']", ("index=%d" % shader)) | 314 s.select("//select[@id='shaderSelect']", ("index=%d" % shader)) |
315 # Take screenshot | 315 # Take screenshot |
316 self.assertTrue(selenium_utilities.TakeScreenShot( | 316 self.assertTrue(selenium_utilities.TakeScreenShot( |
317 s, self.browser, "g_client", ("shader-test%d" % shader))) | 317 s, self.browser, "g_client", "shader-test%d" % (shader + 1))) |
318 | 318 |
319 def TestSampleErrorTextureSmall(self): | 319 def TestSampleErrorTextureSmall(self): |
320 """Tests error-texture.html.""" | 320 """Tests error-texture.html.""" |
321 | 321 |
322 # Alias for the selenium session | 322 # Alias for the selenium session |
323 s = self.session | 323 s = self.session |
324 s.open(self.GetURL("/samples/error-texture.html")) | 324 s.open(self.GetURL("/samples/error-texture.html")) |
325 | 325 |
326 # Allow a limited time for the plugin to initialize. | 326 # Allow a limited time for the plugin to initialize. |
327 s.wait_for_condition("typeof(window.g_client) != 'undefined';", 30000) | 327 s.wait_for_condition("typeof(window.g_client) != 'undefined';", 30000) |
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
521 s.wait_for_condition("typeof(window.g_client) != 'undefined';", 10000) | 521 s.wait_for_condition("typeof(window.g_client) != 'undefined';", 10000) |
522 | 522 |
523 # Instruct the page to download the tgz file once. | 523 # Instruct the page to download the tgz file once. |
524 s.click("startLoad") | 524 s.click("startLoad") |
525 | 525 |
526 s.wait_for_condition("(typeof(window.g_finished) != 'undefined') && " | 526 s.wait_for_condition("(typeof(window.g_finished) != 'undefined') && " |
527 "window.g_finished == true;", 20000) | 527 "window.g_finished == true;", 20000) |
528 | 528 |
529 if __name__ == "__main__": | 529 if __name__ == "__main__": |
530 pass | 530 pass |
OLD | NEW |