【问题标题】:Selecting the next formfield with Selenium RC and python使用 Selenium RC 和 python 选择下一个表单域
【发布时间】:2011-09-24 04:07:46
【问题描述】:

我正在运行自动化测试来测试我公司的网络表单。他们刚刚安装了邮政编码服务,当您填写地址和门牌号码时,该服务会自动添加街道和城市/地区。

当您取消选择最后一个表单元素(例如门牌号)时,会出现此自动填充。

这是我使用的字段的顺序;

  • 表格:邮政编码
  • 表格:门牌号
  • form:addition(可选)
  • form:street(提供邮政编码和门牌号码后由服务人员填写)
  • form:city(另一个自动填充字段)

当您手动填写此表单时,地址会在您单击或按 Tab 键进入添加字段时立即出现(因为它是可选的),但当它自动完成时,它就不起作用了。

我尝试了几种方法,例如;

  • focus('form:addition') 或
  • select('form:addition') 但这些不起作用。我试过了
  • type('\t') 跳转到表单域,并且
  • type('form:addition', ' ') 在添加中键入一个空格。领域甚至
  • type('form:addition', "") 将其留空。到目前为止,这些尝试都没有奏效。

有没有人可以帮我解决这个问题?

【问题讨论】:

    标签: python forms selenium-rc field autofill


    【解决方案1】:

    嗨,我想我有一个解决方案,

    问题在于生成与添加字段的用户交互。

    使用这些语句

    focus("form:addition");

    keyPressNative("10") //这是 ENTER 命令

    它应该可以工作

    【讨论】:

    • 嗨,我试过了,但它没有用(我认为出于同样的原因,我的标签不起作用)。不过谢谢你的麻烦!
    【解决方案2】:

    昨天我发现 zipcode 服务使用 Ajax 调用来检索信息。当 zipcode 和 housenumber 字段都“失焦”(即取消选择)时执行此调用。

    我发现在我的优势中使用这个的正确说法是这个;

    selenium.fireEvent('form:number', 'blur') 取消选择输入数据的最后一个字段。

    【讨论】:

    • 记住如果fireEvent不能触发你想要的事件然后记住根据要求在操作系统级别使用或生成命令。
    猜你喜欢
    • 1970-01-01
    • 2021-12-08
    • 2021-03-28
    • 1970-01-01
    • 2014-04-14
    • 2020-09-17
    • 2023-03-28
    • 1970-01-01
    • 2017-04-21
    相关资源
    最近更新 更多