我正在尝试将此教程用于烧瓶测试 https://flask-testing.readthedocs.org/en/latest/ 特别是在 使用LiveServer进行测试 如果您希望通过Selenium或其他无头浏览器(如PhantomJS)完成测试,您可以使用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)
所以我拿了他们的例子,每当我带着selenium进入页面时 它在该URL上找不到任何内容。我尝试打印出URL,它将在8943端口进入localhost。我用Google搜索,无法找到一个人将这两个一起使用的例子。
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 :(得分:0)
所以我采取了他们的例子,每当我用selenium进入页面时 在该网址找不到任何内容。
该测试只是确保URL可以访问,即返回的状态代码是200
。所以它正如预期的那样工作,因为在该URL上没有提供/ empty / default服务器响应文档。