- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试在一个 Django LiveServerTestCase 中运行多个测试。当我运行任何单个测试(其他人评论)时,一切都按预期进行。但是当我运行带有两个测试的测试用例时,第一个运行正常,但第二个加载页面时显示“内部服务器错误”消息。
Mã số:
from django.test import LiveServerTestCase
from selenium.webdriver.firefox.webdriver import WebDriver
class MyLiveServerTestCase(LiveServerTestCase):
"""
BaseCleass for my selenium test cases
"""
@classmethod
def setUpClass(cls):
cls.driver = WebDriver()
cls.url = cls.live_server_url
super(MyLiveServerTestCase, cls).setUpClass()
@classmethod
def tearDownClass(cls):
cls.driver.quit()
super(MyLiveServerTestCase, cls).tearDownClass()
class AdminEditFormTest(MyLiveServerTestCase):
"""
Some test case
"""
def test_valid_data(self):
"""
test when user enters correct data
"""
self.driver.get(self.url)
# ...
def test_invalid_data(self):
""" test when user enters INcorrect data """
self.driver.get(self.url)
# ...
如果我使用 close()
thay vì quit()
,它会失败并显示“错误 98:地址已在使用”,类似于 cái này情况除外,只有当我在一个 LiveServerTestCase 类中有多个测试或在一个 .py 文件中有多个测试用例时才会出错。
如何在拆卸时使 LiveServerTestCase 成为免费端口(如果它是核心问题)?
有解决办法吗?我想要的只是在本地和远程服务器上同等运行的功能性 selenium 测试。
我正在使用 Django 1.6.7、Firefox 37.0、Selenium 2.45.0
gia hạn
使用方法而不是类方法会导致同样的问题。
def setUp(self):
self.driver = WebDriver()
self.url = self.live_server_url
def tearDown(self):
self.driver.quit()
câu trả lời hay nhất
最后,“内部服务器错误”消息的原因是 WebDriver 在 quit()
上从数据库中删除了所有数据,包括内容类型和其他默认表。
这会导致在下一次测试开始时尝试加载夹具时出错。
N.B. 此行为实际上是由于 TransactionTestCase
(LiveServerTestCase
继承)在测试运行后重置数据库的方式:it truncates all tables。
到目前为止,我的解决方案是在每次测试运行时加载包含所有数据(也是“默认”Django 数据,例如内容类型)的装置。
class MyLiveServerTestCase(LiveServerTestCase):
"""
BaseClass for my Selenium test cases
"""
fixtures = ['my_fixture_with_all_default_stuff_and_testing_data.json']
@classmethod
def setUpClass(cls):
cls.driver = WebDriver()
cls.url = cls.live_server_url
super(MyLiveServerTestCase, cls).setUpClass()
@classmethod
def tearDownClass(cls):
cls.driver.quit()
super(MyLiveServerTestCase, cls).tearDownClass()
感谢@help_asap 指出关于 quit()
问题的刷新数据库!
关于python - 当我运行多个测试时,Django LiveServerTestCase 无法加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29378328/
Tôi đang làm việc với một tập hợp 173k điểm được dán nhãn là 160 nhóm. Tôi muốn giảm số lượng nhóm/cụm bằng cách hợp nhất những nhóm gần nhất (xuống còn 9 hoặc 10 nhóm). Tôi đã tìm kiếm sklearn hoặc các thư viện tương tự nhưng không thành công. Tôi đoán nó chỉ phân cụm qua knn
Tôi có một danh sách phẳng gồm các số được nhóm hợp lý thành nhóm 3, trong đó mỗi bộ ba là (số, __bỏ qua, cờ [0 hoặc 1]), ví dụ: [7,56,1, 8,0, 0, 2 ,0,0, 6,1,
Tôi đang sử dụng pipenv để quản lý các gói của mình. Tôi muốn viết một tập lệnh python để gọi một tập lệnh python khác bằng môi trường ảo khác (VE). Cách chạy python script 1 bằng VE1 và gọi p khác
Giả sử tôi có tệp script.py nằm ở path = "foo/bar/script.py". Tôi đang tìm cách truyền hàm exec_script() bằng Python từ Python chính của tôi
Điều này nghe có vẻ như một câu đố hay một trò đùa, nhưng thực sự tôi vẫn chưa tìm ra câu trả lời cho câu hỏi này. Vấn đề chính xác là gì? Tôi muốn chạy 2 tập lệnh. Trong tập lệnh đầu tiên, tôi gọi một tập lệnh khác, nhưng tôi muốn chúng tiếp tục song song chứ không phải theo hai luồng riêng biệt. Chủ yếu là vì tôi không muốn
Tôi có một phần mềm với python 2.5.5. Tôi muốn gửi lệnh sẽ khởi động tập lệnh trong python 2.7.5 và sau đó tiếp tục thực thi tập lệnh. Tôi đã thử sử dụng #!python2.7.5 và http://re
Tôi đang sử dụng dòng lệnh python (sử dụng python 2.7) và đang cố chạy tập lệnh Python. Hệ điều hành của tôi là Windows 7. Tôi đã đặt thư mục của mình vào thư mục chứa tất cả các tập lệnh của mình bằng cách sử dụng: os.chdir("
Tiết lộ nội dung: Đã giải quyết được một phần (xem phần cuối). Đây là một ví dụ về mã sử dụng tính năng nhúng Python: #include int main(int argc, char** argv) { Py_SetPythonHome
Giả sử tôi có danh sách sau, tương ứng với giá cổ phiếu tại các thời điểm: giá = [1, 3, 7, 10, 9, 8, 5, 3, 6, 8, 12, 9, 6, 10, 13, 8, 4 , 11] Tôi muốn xác định điều nào sau đây nói chung là phù hợp nhất
Vì vậy, tôi đang cố gắng thay đổi nền của khung này khi một nút radio nhất định được chọn. Khung của tôi thuộc một lớp và chức năng của các nút radio nằm ngoài lớp đó. (Bằng cách này tôi có thể gọi chúng trên tất cả các khung khác.) Vấn đề là bất cứ khi nào tôi chọn nút radio, tôi đều gặp lỗi sau: co
Tôi đang cố gắng so sánh một chuỗi với một biểu thức chính quy trong python như sau, #!/usr/bin/env python3 import re str1 = "Expecting property name
Hãy xem xét mô-đun Boost.Python nguyên mẫu sau đây, mô-đun này nhập lớp "D" từ tệp tiêu đề C++ riêng biệt. /* tập tin: a/b.cpp */ BOOST_PYTHON_MODULE(c)
Làm cách nào để viết chương trình để "xác định số dòng của lệnh gọi hàm?" Mô-đun kiểm tra python cung cấp tùy chọn để xác định số dòng, tuy nhiên, def di(): return Inspection.currentframe().f_back.f_l
Tôi đã cài đặt Python 2.7 bằng macports và do biến $PATH của tôi, đây là những gì tôi nhận được khi nhập $python. Tuy nhiên, virtualenv sử dụng Python 2.6 theo mặc định, ngoại trừ
Tôi chỉ muốn hỏi làm thế nào để tăng tốc độ nghiên cứu trên python. Tôi có một dòng chuỗi dài có độ dài 176861 (tức là các ký tự chữ và số có một số ký hiệu) và tôi đã kiểm tra dòng này bằng hàm này để nghiên cứu: def getExe
list1= [u'%app%%General%%%Council%', u'%people%', u'%people%%Regional%%%Council%%Mandate%', u'%ppp%%Ge
Câu hỏi này đã có câu trả lời ở đây: Pythonic có sử dụng khả năng hiểu danh sách chỉ cho các tác dụng phụ không? (7 câu trả lời) Đã đóng 4 tháng trước. kể
Tôi muốn kết hợp hai danh sách thành một danh sách bằng Python như sau: a = [1,1,1,2,2,2,3,3,3,3] b= ["Sun", "is", "bright ", "Tháng Sáu","và" ,"Ju
Tôi đang chạy Mac OS X 10.8.4 (Darwin 12.4.0) với bản phát hành Boost mới nhất (1.55.0). Tôi đang làm theo hướng dẫn ở đây để xây dựng hướng dẫn Boost-Pyth đi kèm với bản phân phối của tôi
Đang học Python, tôi đang cố gắng tạo một công cụ quét web mà không cần bất kỳ thư viện của bên thứ 3 nào để quy trình này không được sắp xếp hợp lý đối với tôi và tôi biết mình đang làm gì. Tôi đã xem một số tài nguyên trực tuyến nhưng tất cả chúng đều khiến tôi bối rối về điều gì đó. ngoại hình html
Tôi là một lập trình viên xuất sắc, rất giỏi!