Flask-Testing の LiveServerを使用して、Selenium を使用して Flask Web アプリの単体テストを作成しています。
テストを実行するとき、テストごとに新しいブラウザー インスタンスを開くのではなく、すべてのテストに 1 つのブラウザーを使用したいので、unittest の setUpClassを使用しています。
class TestApp(LiveServerTestCase, unittest.TestCase):
def create_app(self):
app = create_app()
app.config['TESTING'] = True
app.config.update(LIVESERVER_PORT=9898)
return app
@classmethod
def setUpClass(cls):
cls.chrome_browser = webdriver.Chrome()
cls.chrome_browser.get(cls.get_server_url())
def test_main_page(self):
self.assertEqual(1, 1)
テストを実行すると、次のようになります。
TypeError: get_server_url() missing 1 required positional argument: 'self'
でブラウザを設定するにはどうすればよいsetUpClass
ですか?