【问题标题】:Ruby - Form doesn't submit to the right page in Selenium-WebdriverRuby - 表单未提交到 Selenium-Webdriver 中的正确页面
【发布时间】:2018-02-10 19:32:42
【问题描述】:

我正在尝试为我公司一直为之工作的客户编写一些自动化测试。其中一项测试是让 Selenium-WebDriver 输入用户名和密码并登录。当我以人类用户的身份手动执行此操作时,我会被重定向到正确的页面(基本 url 页面)并成功登录。但是,如果我让 Selenium-WebDriver 执行此操作,页面会被重定向到 /users/:id 并出现 404 错误。

我已将代码以最基本的形式粘贴在下面。我认为问题是由于页面重定向,但我不能确定。 (这是一个 Rails 项目,自动化测试是外部的。)我尝试添加延迟,尝试添加等待,甚至尝试降低 WebDriver 的速度来解决这个问题。似乎没有任何效果。我不知道如何在提交按钮的点击功能中直接添加等待。如果有人有任何进一步的想法,那就太好了。

require 'selenium-webdriver'
driver = Selenium::WebDriver.for :chrome
driver.navigate.to ''
driver.find_element(:id, 'user_email').send_keys ''
driver.find_element(:id, 'user_password').send_keys ''
driver.find_element(:name, 'commit').click
sleep 5 # this is so my eyes have time to see if it worked
driver.quit

提前致谢!

【问题讨论】:

  • 您可能点击了错误的按钮,其中可能有更多名称为“commit”的按钮。如果你能把页面分享给我,我会告诉你更多。
  • 好主意。不幸的是,我已经检查过了,只有一个。如果您愿意,可以查看页面源代码。我通过查看并加载名称为“commit”的所有标签的数组进行了检查。
  • 当我在您的代码中手动使用凭据时,我被重定向到 sgstoolwizard.com/users/1 并收到消息,“您要查找的页面不存在。您可能输入了错误的地址或该页面可能已移动。如果您是应用程序所有者,请查看日志以获取更多信息。”看起来登录页面有问题或凭据错误。
  • 顺便说一句,如果您想查看它是否有效,请删除最后一行 driver.quit。 :)
  • 我是说我无法使用上面代码中的凭据手动使其工作。

标签: ruby-on-rails ruby selenium-webdriver


【解决方案1】:

它看起来像是一个浏览器的东西。它适用于某些浏览器,但不适用于其他浏览器。

感谢您的意见!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-21
    • 2019-11-14
    • 2013-03-07
    • 1970-01-01
    • 2019-08-31
    • 2017-12-21
    相关资源
    最近更新 更多