Django功能测试:selenium' live_server_url'不加载静态文件

时间:2016-09-29 06:28:54

标签: django selenium django-testing django-pipeline

我使用django-pipeline加载静态文件。

奇怪的是,StaticLiveServerTestCase' s live_server_url无法正确加载静态文件。

以下是代码的一部分:

class ProductSetupTestCase(TestCase):

    @classmethod
    def setUpClass(cls):
        super(ProductSetupTestCase, cls).setUpClass()
        # place category
        cls.place_category = PlaceCategory.objects.create(name="학교")

        # subject category
        cls.subject_category1 = SubjectCategory.objects.create(name="사람")
        cls.subject_category2 = SubjectCategory.objects.create(name="꽃병")

        for i in range(5):
            name = 'name' + str(i)
            product = Product.objects.create(
                name=name,
                place_category=cls.place_category,
            )

            product.subject_category_set.add(cls.subject_category1)
            product.subject_category_set.add(cls.subject_category2)

            product.variation_set.create(color='black')
            product.variation_set.create(color='single')
            product.variation_set.create(color='multi')


class CartItemEditTest(ProductSetupTestCase, StaticLiveServerTestCase):

    def setUp(self):
        self.browser = webdriver.Firefox()
        self.browser.implicitly_wait(2)

Firefox浏览器出现,我执行follow命令:

self.browser.get(self.live_server_url) # self.live_server_url value is localhost:8081

当我使用开发工具检查js文件时,它显示如下:

<script type="text/javascript" src="/static/js/message.8d038600d898.js" charset="utf-8"></script>

当我复制srchttp://localhost:8081/static/js/message.8d038600d898.js)并将其粘贴到新标签中时,它不会显示Not Found

现在我使用了其他网址http:localhost:8000,即django runserver url

self.browser.get( http://localhost:8000`)

当我检查这个时间时,它很好地加载了静态文件:

<script type="text/javascript" src="/static/js/message.js" charset="utf-8"></script>

为什么会这样?我不应该再使用live_server_url吗?

0 个答案:

没有答案