2015-06-05 16 views
0

當我從用戶jenkins(Linux Mint)運行這個腳本時,我得到這個錯誤,並從我的用戶運行它時,它的工作原理。 Jenkins用戶使用jenkins服務創建。我已經安裝了virtualenv。從一個用戶的Python 3運行腳本工作,但從另一個不工作?

進口單元測試

from selenium import webdriver 
from selenium.webdriver.support.ui import WebDriverWait 

DRIVER = None 

def getOrCreateWebdriver(): 
    global DRIVER 
    DRIVER = DRIVER or webdriver.Firefox() 
    return DRIVER 


class LoginTest(unittest.TestCase): 
    def setUp(self): 
     self.browser = getOrCreateWebdriver() 

    def test_Loggin(self):pass 
     browser = self.browser 

    def tearDown(self): 
     self.browser.close() 

if __name__ == '__main__': 
    unittest.main(verbosity=2) 

From user jenkins when i run this script i get error : 
test_Loggin (__main__.LoginTest) ... ERROR 
/usr/lib/python3.4/unittest/case.py:602: ResourceWarning: unclosed file <_io.BufferedWriter name='/dev/null'> 
    outcome.errors.clear() 

====================================================================== 
ERROR: test_Loggin (__main__.LoginTest) 
---------------------------------------------------------------------- 
Traceback (most recent call last): 
    File "Test.py", line 16, in setUp 
    self.browser = getOrCreateWebdriver() 
    File "Test.py", line 10, in getOrCreateWebdriver 
    DRIVER = DRIVER or webdriver.Firefox() 
    File "/usr/local/lib/python3.4/dist-packages/selenium/webdriver/firefox/webdriver.py", line 64, in __init__ 
    self.binary, timeout), 
    File "/usr/local/lib/python3.4/dist-packages/selenium/webdriver/firefox/extension_connection.py", line 51, in __init__ 
    self.binary.launch_browser(self.profile) 
    File "/usr/local/lib/python3.4/dist-packages/selenium/webdriver/firefox/firefox_binary.py", line 70, in launch_browser 
    self._wait_until_connectable() 
    File "/usr/local/lib/python3.4/dist-packages/selenium/webdriver/firefox/firefox_binary.py", line 100, in _wait_until_connectable 
    raise WebDriverException("The browser appears to have exited " 
selenium.common.exceptions.WebDriverException: Message: The browser appears to have exited before we could connect. If you specified a log_file in the FirefoxBinary constructor, check it for details. 
+0

我發現當我用jenkis用戶登錄時,我無法運行firefox。錯誤:(進程:5773):GLib-CRITICAL **:g_slice_set_config:斷言'sys_page_size == 0'失敗 未指定協議 未指定協議 錯誤:無法打開顯示:: 0 – igor

回答

0

當你登錄爲你自己,你需要做的echo $DISPLAY並記下顯示的信息將打印。隨後當你登錄爲jenkins服務時,你需要做xhost +DISPLAY=[display-info]; export DISPLAY。 (顯示信息是你從echo $ DISPLAY得到的,忽略方括號,它們不應該在命令中指定)

希望這應該起作用。我沒有類似的測試環境,只是提到了我回憶過去的時間。

相關問題