2016-03-18 162 views
0

我想在這裏拿到教程如果你想通過硒或其他模擬瀏覽器一樣,你可以使用PhantomJS做你的試驗瓶,測試 https://flask-testing.readthedocs.org/en/latest/ 具體規定 測試與LiveServer 工作LiveServerTestCase:瓶測試和硒

import urllib2 
from flask import Flask 
from flask_testing import LiveServerTestCase 

class MyTest(LiveServerTestCase): 

    def create_app(self): 
     app = Flask(__name__) 
     app.config['TESTING'] = True 
     # Default port is 5000 
     app.config['LIVESERVER_PORT'] = 8943 
     return app 

    def test_server_is_up_and_running(self): 
     response = urllib2.urlopen(self.get_server_url()) 
     self.assertEqual(response.code, 200) 

所以我把他們的榜樣,每當我去的網頁硒 它無法在該網址找到任何東西。我嘗試打印出URL,並將其轉到端口8943上的本地主機。我搜索了一下,找不到有人將這兩者一起使用的示例。

from flask import Flask 
from flask.ext.testing import LiveServerTestCase 
import requests 
from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
import unittest 

class IntegrationTest(LiveServerTestCase): 

    def create_app(self): 
     app = Flask(__name__) 
     app.config['TESTING'] = True 
     app.config['LIVESERVER_PORT'] = 8943 
     return app 

    def setUp(self): 
     self.app = self.create_app() 
     self.browser = webdriver.Firefox() 
     self.browser.implicitly_wait(3) 

    def tearDown(self): 
     self.browser.quit() 

    def test_get_page(self): 
     self.browser.get(self.get_server_url()) 
     self.assertNotIn("The requested URL was not found on the server.", self.browser.find_element_by_tag_name("body").text) 

if __name__ == '__main__': 
    unittest.main() 

回答

0

所以我把他們的榜樣,每當我去的網頁硒它 無法在該網址找到任何東西。

該測試只是確保此網址可以訪問,即返回的狀態代碼200。所以它按預期工作,因爲在該URL上沒有/空/默認服務器響應文檔。