Selenium自动化测试和java文本框

时间:2009-07-14 21:18:18

标签: selenium richtextbox

嘿我曾试图寻找如何解决这个问题几个小时,我一直空白。

我使用Selenium IDE尝试进行一些简单的自动化测试(基本上测试将访问网站,创建内容并提交,以确保它仍然有效)

但网站的一部分是javascript文本框,我需要在其中输入文字。

然而,Selenium无法识别我在框的文本编辑部分中所做的任何操作。它会识别我是否按下BOLD或ITALICS之类的东西。 当我选择BOLD时,它返回:点击| //一个[@ id ='mce_editor_1_bold'] / img |

但就像我说的那样,当我选择框的文本编辑部分时它不会识别。 我在网上进行了一些研究后尝试使用xpath(和firebug),但我似乎无法做到这一点。

有人提供帮助或想法吗?

2 个答案:

答案 0 :(得分:0)

您还可以使用javascript与Selenium合作。例如,如果您的富文本框有id="RichText",您可以通过javascript获取该元素并在那里输入您的值。

代码看起来像这样:

| verifyEval | javascript{this.browserbot.getCurrentWindow().document.getElementById('RichText').value = 'Foo Bar'} ||

但是,我发现this.browserbot部分的语法可能会有所不同。让事情进展需要一些工作。您还可以查看The Automated Tester中的这篇文章,其中包含您正在尝试执行的操作的信息。

此问题还可以帮助您:Selenium: How do I use javascript to clear a value from a form field?

答案 1 :(得分:0)

我建议坚持使用Firebug。打开测试页面并使用Firebug的“Inspect”功能找到HTML源代码中的文本框。然后你应该能够找到一种使用id,xpath或css找到盒子的方法。

例如: 如果它有id ='textBox',你可以使用id = textbox找到它。 如果它有class ='jsTextBox',你可以使用css = .jsTextBox找到它

否则您可以使用XPath - 我建议您使用XPath Checker extension,这样您就可以右键单击文本框并查找XPath。您可能想要使用结果来使其成为更智能的XPath。

找到位置后,您应该能够使用type或typeKeys命令输入数据。 type更改了值,typeKeys为每个字符向上/向下触发键 - 它更慢但有时需要,具体取决于被测试的应用程序。

type | id=textBox | myValue

verifyValue | id=textBox | myValue

希望这有帮助, 戴夫。