2011-11-07 71 views

回答

0

为什么要修改Watir的网页?它用于自动化测试,而不是DOM操作。

如果你想添加一些JavaScript中的DOM元素,你可以做这样的:

var txt = document.createTextNode(" This text was added to the DIV."); 
document.getElementById('myDiv').appendChild(txt); 

或者使用一些DOM操作库,如jQuery。

+0

我想填写新的帖子表格,然后提交它进行测试。你有什么想法如何做到这一点? – user1033392

+0

有一个例子:http://watir.com/examples/。简而言之,'browser.text_field(:name =>'myField')。设置'Something'' – socha23

+0

不幸text_field不是textarea或输入,它是iframe中的主体标记,所以我正在寻找解决这种情况的方法 – user1033392

0

如果您还没有制定自己的方式虽然的Watir教程中,我会建议你这样做。它的东西涉及,如在文本字段等填充

学习使用开发工具为你的浏览器,Firefox的Firebug,或内置的IE浏览器和Chrome工具。当你与网站互动时,他们会让你看看事物。

如果元素是不是某种普通的HTML输入字段,那么你正在处理自定义控制。许多存在,他们是多种多样的,并没有一套解决方案来处理它们。如果不知道你正在使用哪种控制方式,并且能够与其中的一个样本进行交互,或者至少看到HTML,就很难告诉你,我们基本上只需要猜测(通常是浪费每个人的时间)

如果你有一个地方可以输入文本,那么它是某种形式的输入控制,它可能不是以这种方式开始,你可能需要点击其他元素,使输入区域出现,但没有HTML样本,我们所能做的只是猜测。

如果这是一个商业的控制,看你能不能找到一个演示网站,显示在动作控制。尝试使用Google之类的元素类名和经常你幸运

1

在的Watir,你可以操纵使用JS网页(DOM),就像这样:

browser.execute_script("document.getElementById('pageContent').appendChild(document.createTextNode('Great Success!'));") 

我假设点问题是: 所有用户不只是通过点击web应用程序上的按钮和链接进行交互,其中一些用户正在做一些令人讨厌的事情,比如改变http请求以使系统执行不应该做的事情......或者只是有一些乐趣。

为了模仿这种行为,你可以写一个UI的测试改变了网页上的形式,使得例如,一个可能的任何输入到任何领域,而不是有限的下拉菜单。

要做到这一点,UI测试有:

  • 操作DOM自由设定限制(与输入的替代选择的等)
  • UI测试已经知道,要使用的值的形式输入在很多情况下,输入随机值是毫无意义的。你的web应用程序必须提供一些好的“不需要的”选项。