状态代码400(Selenium :: WebDriver :: Error :: ServerError)

时间:2017-10-27 12:23:49

标签: selenium-webdriver

此错误:

status code 400 (Selenium::WebDriver::Error::ServerError) 
在我将输入粘贴到字段的步骤中,测试失败后显示

。在我将Selenium WebDriver更新为3.6.0并将Firefox更新为56.0后,测试开始失败。

我使用Ruby - Capybara - Cucumber。什么是失败的原因,我该如何解决?

2 个答案:

答案 0 :(得分:4)

升级您的geckodriver

MACOS:

brew install geckodriver

我希望它可以帮到你。

答案 1 :(得分:0)

我在部署的ubuntu服务器上遇到了同样的问题。

我用这个脚本安装了geckodriver
在跑步之前这个 sudo apt-get install jq

install_dir="/usr/local/bin"
json=$(curl -s https://api.github.com/repos/mozilla/geckodriver/releases/latest)
if [[ $(uname) == "Darwin" ]]; then
    url=$(echo "$json" | jq -r '.assets[].browser_download_url | select(contains("macos"))')
elif [[ $(uname) == "Linux" ]]; then
    url=$(echo "$json" | jq -r '.assets[].browser_download_url | select(contains("linux64"))')
else
    echo "can't determine OS"
    exit 1
fi
curl -s -L "$url" | tar -xz
chmod +x geckodriver
sudo mv geckodriver "$install_dir"
echo "installed geckodriver binary in $install_dir"

github.gist

上提供

从官方回购下载geckodriver的最新bin版本。 但它并没有帮助我。经过几个小时的调查后,我遇到了一个非常奇怪的问题。
geckodriver -v目录中的$HOME返回0.19.1版本 但是当我通过capistrano进入我部署的项目路径时。 cd ~/apps/app_name/production/current geckodriver -v => 0.14.1 which geckodriver => /home/$USER/.rvm/bin/geckodriver rm -rf /home/$USER/.rvm/bin/geckodriver => geckodriver -v 0.19.1

所以我首先要删除项目的.rvm默认版本,然后我的全局geckodriver版本可用于应用程序。