2013-02-15 2 views
0

Im пытается запустить несколько тестов, и я бегу в блок дороги,Селен не соединяет

это начало сценария, где ловится подъемы.

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 

, так что я знаю, что испытывает трудности с установлением соединения, просто не почему?

Примечание: когда я запускаю это с помощью платформы тест Джанго это работает, только не тогда, когда я пытаюсь запустить его вручную

EDIT:

, когда я запустить сервер селена в отдельной оболочке работает

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

так что теперь я предполагаю, что это может быть причиной:

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

ответ

0

разработан, что

dirname(__file__) 

возвращается пустая строка так искал вокруг и нашел это: Find current directory and file's directory

поэтому ответ, как отправленный Петр Dobrogost, должен был использовать

dirname(realpath(__file)) 
Смежные вопросы