当前位置: 首页 > 面试题库 >

使用Selenium测试jQuery拖放和Droppable

华甫
2023-03-14
问题内容

我有一个页面使用jQuery拖放,并且我想使用Selenium为此过程构建一个相对健壮的测试套件。

查看Selenium时,我发现它在jQuery插件上有一个 拖放
命令,例如:FullCalendar,但是当我使用Selenium
IDE尝试记录“拖放”时,没有任何记录的事件。

因此,我应该尝试使用jQuery选择器来定位事件吗?

由于以下操作无效(针对示例页面上的“ 12p午餐” )

<tr>
    <td>dragAndDrop</td>
    <td>/html/body/div[2]/div/div/div[2]/div/div/div/div/div[8]/div</td>
    <td>+100,+100</td>
</tr>

甚至点击元素

<tr>
    <td>click</td>
    <td>/html/body/div[2]/div/div/div[2]/div/div/div/div/div[8]/div</td>
    <td>+100,+100</td>
</tr>

在两种情况下都找不到 XPath 。那么我该如何针对这个不断变化的要素呢?如果选择器中有 唯一的ID ,可以定位该 ID
吗?无论哪种方式,拖放似乎都不起作用:

<tr>
    <td>dragAndDrop</td>
    <td>id=targetelement</td>
    <td>+100,+100</td>
</tr>

我还可以使用jQuery定位“位置”中的元素吗?

<tr>
    <td>dragAndDrop</td>
    <td>selenium.getuserwindow.browserbot.jQuery('#targetelement')</td>
    <td>+100,0</td>
</tr>

问题答案:

这对我有用…

<!--test sorting-->
<!--move block 2 to col 1-->
<tr>
    <td>mouseDownAt</td>
    <td>//div[@id="block-set-col-1"]/ul/li</td>
    <td>80,20</td>
</tr>
<tr>
    <td>mouseMoveAt</td>
    <td>//div[@id="block-set-col-0"]/ul</td>
    <td>50,10</td>
</tr>
<tr>
    <td>mouseOver</td>
    <td>//div[@id="block-set-col-0"]/ul</td>
    <td>50,10</td>
</tr>
<tr>
    <td>pause</td>
    <td>2000</td>
    <td></td>
</tr>
<tr>
    <td>mouseUpAt</td>
    <td>//div[@id="block-set-col-0"]/ul</td>
    <td>50,10</td>
</tr>


 类似资料:
  • 我试图使用Selenium的Action类将JQuery嵌套可排序列表中的源元素拖放到另一个元素。我使用了标准的dragAndDrop方法,并将其分解为clickAndHold、moveToElement和release,但这两种方法都不适用。我甚至尝试使用源元素内部的子元素来拖动,但结果是一样的。 当我运行脚本时,测试返回为已通过,因此我知道正在找到元素,并且选择器有效。Selenium认为拖放

  • 我试图使用Python和Selenium拖放多个元素。 我有一个

  • 我曾尝试使用下面的JavaScript调用模拟SeleniumWebDriver的拖放测试,但出现了WebDriver错误。我尝试了这种方式,因为Actions类在任何浏览器(Firefox、Chrome)上都不起作用。 有人能告诉我哪里做错了吗? 我得到的错误是: org.openqa.selenium.WebDriverExcture:未知错误:Runtime.evaluate抛出异常:Syn

  • pre { white-space: pre-wrap; } 本教程向您展示如何使 HTML 元素可拖动,在本例中,我们将创建三个 DIV 元素然后启用他们的拖动和放置。 首先,我们创建三个 <div> 元素:     <div id="dd1"></div>     <div id="dd2"></div>     <div id="dd3"></div> 对于第一个 <div> 元素,我们

  • 我使用jQuery来满足我的拖放需求,为什么不能在这里工作是我下面的代码,我的需求是:首先,当我将图像拖到表格单元格中时,我要启用/显示一个div;然后,我要将一个跨度拖到新显示的div中,当图像被拖动时,这个跨度就不能在启用的div中拖放了。为什么需要帮助我是jQuery的新手。 null null 因此,问题是拖动图像后,组成的div块被启用/附加在表格单元格内,之后,当我们将跨距拖动到表格单

  • 问题内容: 我无法使用Python WebDriver绑定进行拖放。我正在Mac OS X上使用Google Chrome和Firefox。这里有一个线程,那里有人遇到类似问题。 我尝试使用: 您是否设法使Python WebDriver拖放工作? 问题答案: 为了给出更新的答案,我已经验证了它现在确实可以在Mac上运行。 参考