我试图让本教程适用于专门使用LiveServer测试的烧瓶测试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上进行本地托管。我在谷歌上搜索了一下,找不到有人同时使用这两种方法的例子。
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()发布于 2016-03-18 18:46:03
因此,我以他们为例,每当我使用selenium访问页面时,它就无法在该URL中找到任何内容。
该测试只是确保URL是可访问的,即返回的状态代码是200。因此,它可以正常工作,因为在该URL上没有/空/默认的服务器响应文档。
https://stackoverflow.com/questions/36087811
复制相似问题