selenium IDE和动态DOM元素

时间:2015-01-13 14:27:11

标签: selenium-ide

你好,overflowfellows,

实际上iam在测试网站上,我的公司希望我使用selenium IDE来自动测试里程碑。

我的问题是关于在动态包装器中定位元素,计算并验证存在。例如,das这个包装器包含更多此类名称或此类的tile。 或者,例如,我有我的滑块包装,并希望检查fp​​r中是否存在图像。

考虑滑块包装器的以下xpath选择器:

/html/body/div[1]/div[2]/section/main/div/div

在css选择器中

html.header-visible.js.flexbox.flexboxlegacy.canvas.canvastext.webgl.no-touch.geolocation.postmessage.no-websqldatabase.indexeddb.hashchange.history.draganddrop.websockets.rgba.hsla.multiplebgs.backgroundsize.borderimage.borderradius.boxshadow.textshadow.opacity.cssanimations.csscolumns.cssgradients.no-cssreflections.csstransforms.csstransforms3d.csstransitions.fontface.generatedcontent.video.audio.localstorage.sessionstorage.webworkers.applicationcache.svg.inlinesvg.smil.svgclippaths.wf-telegroteskfett-n4-active.wf-telegroteskhalbfett-n4-active.wf-telegroteskheadlineregular-n4-active.wf-telegroteskheadlineultra-n4-active.wf-telegrotesknormal-n4-active.wf-telegroteskultra-n4-active.wf-teleicon-n4-active.wf-telekomfussballicons-n4-active.wf-active.device-desktop body.loaded div.main div.controller.component section.component.controller.loaded.active main.col-xs-24.col-md-18 div.controller.component.clipping div.slider-wrapper.col-sm-24.col-md-16

对于其中的img,它是动态的: xpath的

/html/body/div[1]/div[2]/section/main/div/div/div/div/div/div[2]/a/picture

cssselector

html.header-visible.js.flexbox.flexboxlegacy.canvas.canvastext.webgl.no-touch.geolocation.postmessage.no-websqldatabase.indexeddb.hashchange.history.draganddrop.websockets.rgba.hsla.multiplebgs.backgroundsize.borderimage.borderradius.boxshadow.textshadow.opacity.cssanimations.csscolumns.cssgradients.no-cssreflections.csstransforms.csstransforms3d.csstransitions.fontface.generatedcontent.video.audio.localstorage.sessionstorage.webworkers.applicationcache.svg.inlinesvg.smil.svgclippaths.wf-telegroteskfett-n4-active.wf-telegroteskhalbfett-n4-active.wf-telegroteskheadlineregular-n4-active.wf-telegroteskheadlineultra-n4-active.wf-telegrotesknormal-n4-active.wf-telegroteskultra-n4-active.wf-teleicon-n4-active.wf-telekomfussballicons-n4-active.wf-active.device-desktop body.loaded div.main div.controller.component section.component.controller.loaded.active main.col-xs-24.col-md-18 div.controller.component.clipping div.slider-wrapper.col-sm-24.col-md-16 div.controller.component.clipping.slick-initialized.slick-slider div.slick-list.draggable div.slick-track div.slick-slide.slick-active a picture.component
请不要生我的气,因为我是你的文字。

使这个问题合理。

如何使用Selenium IDE检查元素中的元素。

我对selenium JAVA有一些经验,这里有循环和条件,我发现它更容易到达我的选择器。

长话短说: 我可以在动态上下文中使用selenium IDE来重新测试我的测试用例。

任何答案都会受到影响。

与paulq一起度过美好的一天

1 个答案:

答案 0 :(得分:1)

首先让我简化一些xpath: / HTML /体/格[1] / DIV [2] /部分/主要/ DIV /格 变成// section / main / div / div

/ HTML /体/格[1] / DIV [2] /部分/主要/ DIV / DIV / DIV / DIV / DIV / DIV [2] / A /图象 变成// section / main / div / div // a / picture

如果您有确切的计数,则可以使用verifyXpathCount。

或者你可以运行一些java脚本来使用通过Element.getElementsByTagName()返回的元素数量,其中有问题的元素是包装器。这样,您只获得作为该元素后代的元素,而不是整个文档。