0

私はいくつかのテストを実行しようとしていますが、障害にぶつかっています、

これは、スクリプトがキャッチされているスクリプトの開始です。

from selenium import selenium
import subprocess
import time
import sys
import socket
from os.path import dirname
import unittest
from pushdata import push


class selenium_tests(unittest.TestCase):

    @classmethod
    def setUpClass(self):
        directory = dirname(__file__)
        path = directory + '/selenium-server-standalone-2.28.0.jar'
        sub = subprocess.Popen('exec java -jar ' + path,
                               stdout=subprocess.PIPE,
                               stderr=subprocess.STDOUT,
                               shell=True)
        self.selenium_server = sub
        count = 0
        while True:  # ensure the server is established
            try:
                self.selenium = selenium("localhost",
                                         4444,
                                         "*chrome",
                                         "http://127.0.0.1:8000/resources/")
                self.selenium.start()
                break
            except socket.error, v:
                count += 1
                if count == 10:
                    message = "- Selenium server took to long to establish"
                    print "\n", v, message
                    sys.exit()
                time.sleep(1)

テストを実行するには、次のコマンドを使用しています。

python -m unittest -v selenium_tests_mod

これは発生します:

[Errno 111] Connection refused - Selenium server took to long to establish

だから私はそれが接続を確立するのに問題があることを知っています、なぜではありませんか?

注:これをdjangoテストフレームワークを使用して実行すると、手動で実行しようとした場合ではなく、機能します

編集:

セレンサーバーを別のシェルで実行すると、動作します

java -jar selenium-server-standalone-2.28.0.jar

だから今私はこれが原因かもしれないと思っています:

sub = subprocess.Popen('exec java -jar ' + path,
                               stdout=subprocess.PIPE,
                               stderr=subprocess.STDOUT,
                               shell=True)
4

1 に答える 1

0

それを解決しました

dirname(__file__)

空の文字列を返していたので、検索してこれを見つけました:現在のディレクトリとファイルのディレクトリを検索します

したがって、Piotr Dobrogostによって投稿された答えは、

dirname(realpath(__file)) 
于 2013-02-15T02:52:57.513 に答える