小编Mou*_*ood的帖子

硒 - 走上dom树

我正在python中使用unittest和Selenium RC在怪物网络应用程序(4兆负载)上工作.

我开始有类似的东西

xp = '//div[id="kahoona"]//button[text()="Big"]'
selenium.click(xp)
Run Code Online (Sandbox Code Playgroud)

这是好的,直到我们的一个开发人员开始修改诸如将javascript事件处理程序向上移动到某个父元素8级别之类的事情.那时Selenium的点击只是出错了.他们还随机插入和删除级别,所以今天的8个级别明天是6级,后一天是9级.

这造成了一场噩梦,因为我必须解码生成的意大利面的extjs,并且每次向上移动一个级别 - 每次都有一个新的xpath,然后再次运行测试直到错误停止.

我想要做的是,给出一些今天可能看起来像这样的html - 只有端点是确定的 - (某些元素会有id或类,有些则不会):

'//div[id="kahoona"]//div//table//tr//td//div//div//div//button[text()="Big"]'
Run Code Online (Sandbox Code Playgroud)

我需要找到一种方法,从按钮开始并使用Selenium,向上走到dom树(由于前面提到的修改而未知和更改)到外层包装器并在每个级别尝试类似selenium.click(the_current_xpath)的东西,直到它不再失败.那时,我应该有一个有效的xpath.

如果这可以相对有效地完成,我可以编写适应性测试,以解决无休止的修补工作.开发人员做他们自己的事情 - 我没有影响力,也无法访问源代码.

任何建议都非常欢迎.

python testing selenium

3
推荐指数
1
解决办法
2196
查看次数

标签 统计

python ×1

selenium ×1

testing ×1