【问题标题】:How to record a click event for an image acting as a button in Selenium?如何为在 Selenium 中充当按钮的图像记录单击事件?
【发布时间】:2013-03-17 02:37:59
【问题描述】:

在我的应用程序中,我有一个图像作为按钮。当我在 Selenium IDE 中记录按钮单击事件并重播时,我只是播放它,但单击事件实际上并没有提交值

例如:提交按钮(这是一个图像)实际上应该将值提交到数据库。但是当我签入数据库时​​,该值没有添加到那里

元素值

<input width="98" vspace="3" type="Image" height="15" border="0" 
id="Image1" src="images/butt_submit.gif" value="Submit" name="Submit">

硒代码

selenium.click("//input[@id='Image1']");
selenium.waitForPageToLoad("30000");

请帮忙。

谢谢!

HG

【问题讨论】:

  • 尝试使用selenium.click(name=Submit); 并查看数据是否反映在数据库中。如果您仍然遇到问题,请告诉我们。
  • 感谢您的回复。但我仍然面临这个问题。手动单击按钮将提交值。但是当我运行 selenium 代码时,它没有给出任何错误,但实际上没有提交该值:(
  • 运行 selenium 代码后是否出现任何错误?例如:-Element not found 可能是提交按钮存在于框架中。你检查了吗?
  • 就是这样......它不会抛出任何错误,测试用例完成没有任何错误,但表单/值没有提交。如果我添加 waitForPageToLoad 命令页面只是超时,按钮单击不起作用。 Bt 如果我手动操作它会很糟糕。我还是想不通。该按钮位于表格内。如果是这样,它的行为方式是否不同? P.S.:我不是 selenium-rc 的专家,因此,我欢迎任何帮助! :)
  • 如果不是保密的,能否分享一下app链接,以便我们调试问题?

标签: java html forms selenium-rc onsubmit


【解决方案1】:

问题不在于 Selenium/IDE 没有单击图像。即使您手动提交,您使用的代码(在 HTML 中)也不会提交表单数据。你先检查了吗?

无论如何,如果您想使用 图像作为表单的提交操作,请为图像添加 onclick 事件以提交表单。 form.submitthis example on W3Schools

<html>
<head>
<script>
function formSubmit()
{
document.getElementById("frm1").submit();
}
</script>
</head>
<body>

<form id="frm1" action="form_action.asp">
First name: <input type="text" name="fname"><br>
Last name: <input type="text" name="lname"><br>
<input type="button" onclick="formSubmit()" value="Submit form">
</form>

</body>
</html>

他们在这里使用了一个按钮,但您可以将其用于您的图像。

有关 HTML 表单基础知识的更多信息:http://www.w3schools.com/html/html_forms.asp

【讨论】:

  • 您好,感谢您的回复。是的,手动单击它将提交值。我无法在代码级别更改应用程序中的 HTML 代码。无论如何在 Selenium 代码中可以做到这一点?
猜你喜欢
  • 1970-01-01
  • 2019-01-21
  • 1970-01-01
  • 2017-05-21
  • 2021-09-25
  • 1970-01-01
  • 1970-01-01
  • 2020-03-16
  • 2014-06-28
相关资源
最近更新 更多