Apache不显示浏览器

时间:2017-07-13 18:55:29

标签: python apache google-chrome selenium-webdriver

我在网站上运行Selenium-Python测试。

目标: 处理将多个用户发送到服务器应用程序的多个用户,即用户'请求将全部处理(没有丢弃);同时处理它们并不重要。 简单的服务器'不能做到这一点。 Apache应该(当然,它有点矫枉过正),但我无法弄清楚如何设置它 - Chrome浏览器启动但它永远不会出现(FireFox也没有)。

基本测试设置:

  • 浏览器(客户端)向测试计算机发送ajax请求
  • 测试机器(必须是)Windows(目前为Win10;将移至Winserver2008)
  • 测试机器运行服务器应用程序,Selenium(webdriver)和浏览器(测试)
  • 服务器应用程序接收ajax调用,并启动python app
  • python应用程序启动webdriver
  • webdriver启动并显示浏览器(测试)

当我使用基于CGIHTTPRequestHandler的简单服务器应用程序时,这一切都适用于单个用户。

如果使用Apache:

  1. Apache回复ajax请求
  2. Apache启动python应用程序
  3. python启动webdriver - 我得到了PID,它在TaskManager中,它占用一个核心几分钟,然后退出
  4. 浏览器(Chrome)启动 - 我在TaskManager中看到它
  5. 但是浏览器没有出现
  6. 环境:

    • Win10 64位
    • Python 3.5(Anaconda)
    • Selenium 3.4.3
    • Chrome 59
    • ChromeDriver 2.30
    • Apache 2.4
    • 网址是标准的Apache网页" http://localhost/index.html"

    我尝试了什么:

    • Apache侦听自己的端口:
      

    收听127.0.0.1:1909

    (简单服务器侦听1908年)

    • 所有Chrome实例在触发webdriver之前都已关闭
    • Chrome使用单独的测试配置文件; python调用是这样的:
      

    driver = webdriver.Chrome(          executable_path =" C:\的webdriver \ chromedriver.exe&#34 ;,          service_args = [          " - 用户 - 数据 - DIR = C:\ Apache24 \谷歌\铬\ AutomationProfile&#34 ;,          " - 冗长&#34 ;,          " - 对数路径= C:\的webdriver \日志\ qc.log"])

    但是一个目录,比如" scoped_dir13752_2712",总是在\ Windows中创建 - 这是一个问题吗?

    • 比较来自简单服务器'的webDriver日志(每个~1K行)。 (Chrome打开)和Apache(Chrome没有出现),什么都没有跳出来
    •   -

    我错过了什么?

    谢谢!

1 个答案:

答案 0 :(得分:0)

很抱歉收到旧答复,正在研究一个相关问题。

要使Web浏览器可见,httpd.exe必须与运行当前桌面会话的Windows用户相同。 (不要将apache安装为服务)

我有一个与您类似的设置,但是一旦升级到apache / 2.4.33,我将无法再继续运行chromedriver.exe或geckodriver.exe,只能再缺少phantomjs.exe。