51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1950|回复: 5
打印 上一主题 下一主题

求问怎么解决 Mac+Jenkins 中 selenium 启动 chromedriver 未显示浏览器的问题

[复制链接]
  • TA的每日心情
    擦汗
    前天 09:07
  • 签到天数: 527 天

    连续签到: 4 天

    [LV.9]测试副司令

    跳转到指定楼层
    1#
    发表于 2020-6-15 11:18:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    1测试积点
    本地执行脚本没问题,能正常打开浏览器,并通过点击对应的控件元素,但是集成到Jenkins之后,在Jenkins执行时,因为浏览器未打开显示出来,导致后续的点击元素失败。请问人遇到这样的情况么?是需要在Jenkins中配置什么环境么?脚本如下:
    1. import os
    2. import requests
    3. import json
    4. import time
    5. from selenium import webdriver
    6. from selenium.webdriver.common.by import By
    7. import selenium.webdriver.support.expected_conditions as EC


    8. # 打开网络,登录,获取driver
    9. def get_driver(url):
    10.     options = webdriver.ChromeOptions()
    11.     options.add_argument('--no-sandbox')
    12.     options.add_argument('--disable-gpu')
    13.     options.add_argument('--hide-scrollbars')
    14.     # options.add_argument('--headless')
    15.     options.add_experimental_option('excludeSwitches', ['enable-automation'])
    16.      # 浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败
    17.     # 设置权限
    18.     prefs = {"profile.managed_default_content_settings.images": 1}
    19.     #options.add_experimental_option("prefs", prefs)
    20.     current_dir = os.path.dirname(os.path.abspath(__file__))
    21.     print("current_dir: " + current_dir)
    22.     chromedriver_dir = current_dir+'/chromedriver'
    23.     print("chromedriver_dir: " + chromedriver_dir)
    24.     driver = webdriver.Chrome(options=options, executable_path=chromedriver_dir)
    25.     driver.get(url)
    26.     # print(driver.page_source)
    27.     driver.find_element_by_id('kw').send_keys('testerhome')
    28.     driver.find_element_by_id('su').click()
    29.     print("Click success")
    30.     return driver


    31. # 获取cookies信息
    32. def get_cookies(driver):
    33.     cookies = driver.get_cookies()
    34.     Cookies = ''
    35.     for lt in cookies:
    36.         Cookies = Cookies + lt['name'] + '=' + lt['value'] + ';'
    37.     print('Cookies:' + str(Cookies))
    38.     driver.quit()
    39.     return Cookies


    40. driver = get_driver("http://www.baidu.com")
    41. cookies = get_cookies(driver)
    复制代码
    1、本地执行结果
    1. $ python3 test.py
    2. current_dir: /Users/aaa/JenkinProjects
    3. chromedriver_dir: /Users/aaa/JenkinProjects/chromedriver
    4. Click success
    5. Cookies:WWW_ST=1592104224283;BDSVRTM=15;PSINO=6;BD_CK_SAM=1;H_PS_PSSID=31909_14350_3136_2045_31714_30823_31846;BAIDUID=5945D257E9532E230820BDC4626B9B:FG=1;delPer=0;BIDUPSID=5945D257E5952ECC8F24B6FC2FE77EC;PSTM=159210441;BD_UPN=123253;BD_HOME=1;
    复制代码
    2、Jenkins执行结果
    1. Running as SYSTEM
    2. Building in workspace /Users/Shared/Jenkins/Home/workspace/test
    3. [test] $ /bin/sh -xe /Users/Shared/Jenkins/tmp/jenkins5191306205202886733.sh
    4. + /usr/local/Cellar/python/3.7.0/bin/python3 /Users/aaa/JenkinProjects/test.py
    5. current_dir: /Users/aaa/JenkinProjects
    6. chromedriver_dir: /Users/aaa/JenkinProjects/chromedriver
    7. Traceback (most recent call last):
    8.   File "/Users/aaa/JenkinProjects/test.py", line 71, in <module>
    9.     driver = get_driver("http://www.baidu.com")
    10.   File "/Users/aaa/JenkinProjects/test.py", line 55, in get_driver
    11.     driver.find_element_by_id('su').click()
    12.   File "/usr/local/lib/python3.7/site-packages/selenium/webdriver/remote/webelement.py", line 80, in click
    13.     self._execute(Command.CLICK_ELEMENT)
    14.   File "/usr/local/lib/python3.7/site-packages/selenium/webdriver/remote/webelement.py", line 633, in _execute
    15.     return self._parent.execute(command, params)
    16.   File "/usr/local/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    17.     self.error_handler.check_response(response)
    18.   File "/usr/local/lib/python3.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    19.     raise exception_class(message, screen, stacktrace)
    20. selenium.common.exceptions.ElementNotVisibleException: Message: element not interactable
    21.   (Session info: chrome=83.0.4103.97)
    22.   (Driver info: chromedriver=70.0.3538.16 (16ed95b41bb05e565b11fb66ac33c660b721f778),platform=Mac OS X 10.14.5 x86_64)

    23. Build step 'Execute shell' marked build as failure
    24. Finished: FAILURE
    复制代码



    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-10-22 14:23
  • 签到天数: 1007 天

    连续签到: 1 天

    [LV.10]测试总司令

    2#
    发表于 2020-6-16 09:26:17 | 只看该作者
    参考这篇帖子看下:https://testerhome.com/topics/24246
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2024-9-30 15:02
  • 签到天数: 751 天

    连续签到: 2 天

    [LV.10]测试总司令

    3#
    发表于 2020-6-16 09:51:46 | 只看该作者
    来占沙发
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    前天 08:59
  • 签到天数: 1801 天

    连续签到: 5 天

    [LV.Master]测试大本营

    4#
    发表于 2020-6-16 09:52:58 | 只看该作者
    看下driver版本是否对应
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    前天 10:10
  • 签到天数: 1516 天

    连续签到: 5 天

    [LV.Master]测试大本营

    5#
    发表于 2020-6-16 10:49:05 | 只看该作者
    检查下版本匹配成都
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    前天 07:28
  • 签到天数: 2812 天

    连续签到: 5 天

    [LV.Master]测试大本营

    6#
    发表于 2020-6-16 12:37:00 | 只看该作者
    确认不能开启的原因
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-17 11:03 , Processed in 0.067687 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表