烧瓶测试和硒

时间:2016-03-18 15:06:27

标签: python selenium flask

我正在尝试将此教程用于烧瓶测试 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()

1 个答案:

答案 0 :(得分:0)

  

所以我采取了他们的例子,每当我用selenium进入页面时   在该网址找不到任何内容。

该测试只是确保URL可以访问,即返回的状态代码200。所以它正如预期的那样工作,因为在该URL上没有提供/ empty / default服务器响应文档。