回答編集履歴

2

「※追記」を追記しました。

2021/05/06 01:55

投稿

MorningMushroom
MorningMushroom

スコア53

test CHANGED
@@ -11,3 +11,9 @@
11
11
 
12
12
 
13
13
  いまとなっては当たり前のことなのですが、ついつい単体テストからseleniumを使ったテストにそのまま作業を継続していると、うっかりこのことを忘れてしまうのです。恥ずかしながら、今回は昨晩からしばらく悩んでいました。
14
+
15
+
16
+
17
+ ※2021-5-6追記:selenium+Djangoでのテストの場合ですが、もっと便利な方法がありましたので追記します。
18
+
19
+ Django公式([LiveServerTestCase](https://docs.djangoproject.com/ja/3.2/topics/testing/tools/#liveservertestcase))に書いてあるのですが、TestCaseでなくて、このクラスを継承することによって、localhost:8000のかわりにself.live_server_urlをドメインとしてテスト対象のアプリケーションをテストプロセスと同時に立ち上げてくれます。これを使えば、runserverを起動する必要が無いことがわかりました。

1

末尾に追記

2021/05/06 01:55

投稿

MorningMushroom
MorningMushroom

スコア53

test CHANGED
@@ -2,8 +2,12 @@
2
2
 
3
3
 
4
4
 
5
- つまり、seleniumを使ったアプリなり、テストなりのプログラムを起動する前に、Djangoであれば、h「ttp://127.0.0.1:8000/」にアクセスしたときにテスト対象となるアプリケーションがDjangoの「runserver」コマンドで起動されている必要があります。でないとご質問のようなエラーが発生します。
5
+ つまり、seleniumを使ったアプリなり、テストなりのプログラムを起動する前に、Djangoであれば、h「http://127.0.0.1:8000/」にアクセスしたときにテスト対象となるアプリケーションがDjangoの「runserver」コマンドで起動されている必要があります。でないとご質問のようなエラーが発生します。
6
6
 
7
7
 
8
8
 
9
9
  私ももの忘れがひどいため、このミスを何度もやってこの投稿が検索上位に挙がってくるのですが、原因を忘れてしまって無駄な時間をつぶしてしまうので、回答させてもらいました。
10
+
11
+
12
+
13
+ いまとなっては当たり前のことなのですが、ついつい単体テストからseleniumを使ったテストにそのまま作業を継続していると、うっかりこのことを忘れてしまうのです。恥ずかしながら、今回は昨晩からしばらく悩んでいました。