2017-11-11 131 views
0

我使用python和selenium来执行我的应用程序的测试表单。 该代码是在eclipse NEON中编写的,当我从eclipse执行时它工作正常。 但是,当我使用jenkins运行相同的代码它说:无法找到铬二进制文件。 我在詹金斯做的是作为Windows bact命令执行。 我写这样一个批处理代码:在jenkins中执行python测试时找不到Chrome二进制文件

C:\Users\Me\AppData\Local\Programs\Python\Python36\python.exe C:\Users\Me\NEON\workspace\Test1\test-package\test.py 

我保存这段代码到一个名为run_test1.bat 文件。然后我把这个行詹金斯为:

call "C:\Users\Me\NEON\workspace\Test1\test-package\run_test1.bat" 

这从詹金斯错误堆栈:

20:22:57 C:\Users\Me\NEON\workspace\Test1\test-package>C:\Users\Me\AppData\Local\Programs\Python\Python36\python.exe C:\Users\Me\NEON\workspace\Test1\test-package\test.py 
20:23:03 E 
20:23:03 ====================================================================== 
20:23:03 ERROR: test_x (__main__.Login) 
20:23:03 ---------------------------------------------------------------------- 
20:23:03 Traceback (most recent call last): 
20:23:03 File "C:\Users\Me\NEON\workspace\Test1\test-package\test.py", line 33, in setUp 
20:23:03  self.driver = webdriver.Chrome("C:\\Selenium-driver\\chromedriver.exe") 
20:23:03 File "C:\Users\Me\AppData\Local\Programs\Python\Python36\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 69, in __init__ 
20:23:03  desired_capabilities=desired_capabilities) 
20:23:03 File "C:\Users\Me\AppData\Local\Programs\Python\Python36\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 92, in __init__ 
20:23:03  self.start_session(desired_capabilities, browser_profile) 
20:23:03 File "C:\Users\Me\AppData\Local\Programs\Python\Python36\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 179, in start_session 
20:23:03  response = self.execute(Command.NEW_SESSION, capabilities) 
20:23:03 File "C:\Users\Me\AppData\Local\Programs\Python\Python36\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 238, in execute 
20:23:03  self.error_handler.check_response(response) 
20:23:03 File "C:\Users\Me\AppData\Local\Programs\Python\Python36\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 193, in check_response 
20:23:03  raise exception_class(message, screen, stacktrace) 
20:23:03 selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrome binary 
20:23:03 (Driver info: chromedriver=2.29.461591 (62ebf098771772160f391d75e589dc567915b233),platform=Windows NT 6.1.7601 SP1 x86_64) 
20:23:03 
20:23:03 
20:23:03 ---------------------------------------------------------------------- 
20:23:03 Ran 1 test in 5.095s 
20:23:03 
20:23:03 FAILED (errors=1) 
20:23:03 
20:23:03 C:\Users\Me\NEON\workspace\Test1\test-package>exit 1 
20:23:03 Build step 'Execute Windows batch command' marked build as failure 
20:23:03 Finished: FAILURE 

我的Python代码开始是这样的:

from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC 
from selenium import webdriver 
from selenium.webdriver.common.by import By 
from selenium.webdriver.common.keys import Keys 
from selenium.webdriver.support.ui import Select 
from selenium.common.exceptions import NoSuchElementException 
from selenium.common.exceptions import NoAlertPresentException 
from selenium.common.exceptions import TimeoutException 
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities  
import unittest, time, re 
from util import Util 
import logging 
from selenium.webdriver.remote.remote_connection import LOGGER 
LOGGER.setLevel(logging.ERROR) 


class Login(unittest.TestCase): 
    def setUp(self): 
     '''options = webdriver.ChromeOptions() 
     options.binary_location = ("C://Users//Me//AppData//Local//Google//Chrome//Application//") 
     chrome_driver_binary = ("C://Selenium-driver//chromedriver.exe") 
     self.driver = webdriver.Chrome(chrome_driver_binary, chrome_options=options)''' 


     self.driver = webdriver.Chrome("C:\\Selenium-driver\\chromedriver.exe") 

有人可以帮我在詹金斯找出这个问题。我使用Jenkins版本。 2.89

回答

0

这可能是你詹金斯奴隶配置中的一个问题。

为了运行脚本,需要将Jenkins作为标准Windows用户帐户进行登录。您需要确保用户能够运行您的脚本(不要在您的个人用户帐户目录下使用chrome二进制文件的路径,为所有用户安装chrome)。

硒脚本需要桌面启动浏览器,所以不要忘记配置您的虚拟机与自动登录到这个用户帐户(桌面将可用于您的jenkins奴隶)。

对于您的jenkins从站的配置,请参阅此处的文档:Step by step guide to set up master and slave machines on Windows

相关问题