我在加载页面时保存了屏幕截图。如果我用生产测试它,它可以正常工作(页面正确呈现)。 但,如果我使用本地开发服务器进行测试,则在检查屏幕截图时页面无法正确呈现。 缺少某些元素(HTML,图片)。
问题是PhantomJS。如果我使用Firefox,它可以正常工作。但我需要“无头”,因为这是一项要求。
我使用的是Python 2.7.6 + Selenium 2.45.0 + PhantomJS 1.9.8(OS X Yosemite 10.10)。
代码:
import unittest
import time
from selenium import webdriver
class Test(unittest.TestCase):
HEADLESS = 1
DEVELOPMENT = 1
def setUp(self):
if self.HEADLESS:
self.driver = webdriver.PhantomJS()
self.driver.set_window_size(1400, 1200)
else:
self.driver = webdriver.Firefox()
self.driver.maximize_window()
self.driver.implicitly_wait(100)
url = 'http'
if self.DEVELOPMENT:
url += '://development.localhost.lan:3000/login'
else:
url += 's://PRODUCTION_WEB.com/login'
self.driver.get(url)
time.sleep(10)
self.driver.save_screenshot('login.png')
def tearDown(self):
print 'tearDown'
def test_import(self):
print 'test_import'
if __name__ == '__main__':
suite = unittest.TestLoader().loadTestsFromTestCase(Test)
unittest.TextTestRunner(verbosity=2).run(suite)
另外,我已经测试了以下内容,没有结果:
拜托,有人可以给我任何建议吗?提前谢谢!