【发布时间】:2015-09-03 15:15:32
【问题描述】:
我正在使用 Selenium-webdriver、watir、PhantomJS 无头浏览器等在 Openshift 平台(免费层)上进行 Web 测试项目,但遇到了一个我找不到解决方案的错误。
背景:我对 Ruby、Linux、Web 应用程序测试等还很陌生。我曾努力安装 Openshift(免费层)Ruby 设备,并且在这方面取得了成功。我可以通过 Filezilla SFTP 进入设备,可以通过 Putty SSH 进入应用程序,并拥有一个带有 OpenShift 工具(GIT 等)的 Windows 10 桌面。我已经安装了 Selenium-Webdriver 和 PhantomJS。
我正在尝试通过以下“Ruby 中的 Web 应用程序测试”指南在 Openshift 平台上实现以下代码。
指南: https://leanpub.com/watirbook/read#leanpub-auto-irb-interactive-ruby-shell
我正在尝试实现的代码:
require "selenium-webdriver"
browser = Selenium::WebDriver.for :phantomjs
browser.get "http://google.com"
p browser.current_url
p browser.title
browser.find_element(name: "q").send_keys "watir"
browser.find_element(name: "q").clear
p browser.find_element(name: "q").attribute(:name)
p browser.find_element(name: "q").attribute(:class)
p browser.find_element(name: "q").attribute(:type)
p browser.find_element(name: "q").
attribute(:autocomplete)
browser.save_screenshot "phantomjs.png"
p browser.page_source
p browser.find_element(name: "q").
attribute(:outerHTML)
browser.quit
当我按照以下命令的指示运行此代码时:
ruby headless_phantomjs.rb
我收到以下错误:
/var/lib/openshift/MYAPPID/.gem/gems/selenium-webdriver-2.47.1/lib/selenium/webdriver/phantomjs/service.rb:39:in `executable_path': Unable to find phantomjs executable. (Selenium::WebDriver::Error::WebDriverError)
from /var/lib/openshift/55e5f36b89f5cf105a000102/.gem/gems/selenium-webdriver-2.47.1/lib/selenium/webdriver/phantomjs/service.rb:47:in `default_service'
from /var/lib/openshift/55e5f36b89f5cf105a000102/.gem/gems/selenium-webdriver-2.47.1/lib/selenium/webdriver/phantomjs/bridge.rb:38:in `initialize'
from /var/lib/openshift/55e5f36b89f5cf105a000102/.gem/gems/selenium-webdriver-2.47.1/lib/selenium/webdriver/common/driver.rb:64:in `new'
from /var/lib/openshift/55e5f36b89f5cf105a000102/.gem/gems/selenium-webdriver-2.47.1/lib/selenium/webdriver/common/driver.rb:64:in `for'
from /var/lib/openshift/55e5f36b89f5cf105a000102/.gem/gems/selenium-webdriver-2.47.1/lib/selenium/webdriver.rb:86:in `for'
from headless_phantomjs.rb:7:in `<main>'
在 Ruby 的 IRB 中,我可以使用 Path 命令来查找路径: /opt/rh/ruby193/root/usr/bin/ 但无法访问或编辑它。
我已验证 phantomJS 可执行文件位于我的应用程序下的以下目录中: /app-root/data/phantomjs/bin
问题:如何克服这个错误并让 Selenium webdriver 查看 PhantomJS 的路径?
帮助赞赏....
【问题讨论】:
标签: ruby selenium-webdriver phantomjs openshift watir