对zk开发的ajax应用,在使用selenium这样的自动化测试工具测试时会遇到很多困难。这里简单了总结了几点遇到的问题和解决办法:
zk组件生成的html代码很乱,有一点很恼人的是,其中每个Html元素的id号不是固定的,而是每次刷新页面都会变化。
这直接导致selenium.click("id=xxx")这样的代码不能使用了,要得到页面上的一个链接或者一个输入框,我都得小心翼翼的去翻zk生成的长长的html代码,而且页面一有更改,可能之前写的代码都不能用了。如果要是能在生成的html中,也能看到zk中的组件的id号就方便多了。
解决方法:
修改zk的源码。修改org.zkoss.zk.ui.HtmlBasedComponent这个类,在getOuterAttrs()方法中增加了一句
HTMLs.appendAttribute(sb, "autotest", getId());
这样比如一个输入框生成的html代码里就会有类似<input autotest='input1'>这样的代码了,这样在selenium中就可以直接用
selenium.click("xpath=//*[@autotest='" + id + "']");
来操作这个对象,方便多了。
在zk生成的按钮可以增加自定义的事件来检查某个输入框内输入字符串是否符合要求。这时候如果使用selenium.type命令在输入框中输入,就会发现zk总会认为输入的内容是空的。原因为,selenium的type命令和手工在浏览器中输入字符有不相同的地方,手工在浏览器中输入字符会自动触发此输入框的onchange和onblur这两个javascript事件。而selenium的type命令不会,
解决方法:
在使用type后,手工触发一下change和blue事件。如:
selenium.type("xpath=//*[@autotest='" + element + "']", type);
selenium.fireEvent("xpath=//*[@autotest='" + element + "']", "change");
selenium.fireEvent("xpath=//*[@autotest='" + element + "']", "blur");
分享到:
相关推荐
《Selenium测试实践:基于电子商务平台》对开源自动化测试工具Selenium进行了详细介绍,帮助读者熟练掌握Selenium的使用方法。《Selenium测试实践:基于电子商务平台》将电子商务平台下的Selenium测试技巧通过具有代 ...
python selenium 测试报告
selenium配置文档及相关组件包,包含必须的IEDriverServer组件和一个简约的配置文档,可以快速搭建一个selenium+python的自动化测试环境。
Selenium测试工具研究报告,一款适合软件测试的工具
使用selenium进行软件测试,里面有很多常用的方法。
selenium测试脚本编写详细说明大全
selenium+junit+TestNg 测试环境搭建
Selenium目前没有提供对IE模态对话框(即通过showModalDialog方法打开的弹出对话框)的处理。原因在于,模态对话框会将父页面的 JS挂起,直至对话框处理完毕才会继续执行父页面JS。因为Selenium的底层实现是基于JS的,...
selenium测试工具搭建,web测试详细讲解
Selenium是现在使用最为广泛的一款开源自动化测试工具,也是非商业支持的稳定性易用性最好的一款自动化测试工具。和由HP提供强大商业支持的QTP相比,selenium不仅在软件投资上有比较大的优势,在针对web测试的稳定性...
据 Selenium 主页所说,与其他测试工具相比,使用 Selenium 的最大好处是: Selenium 测试直接在浏览器中运行,就像真实用户所做的一样。Selenium 测试可以在 Windows、Linux 和 MacintoshAnd 上的 Internet ...
selenium测试所需的jar包
讲解如何使用Selenium 和 TestNG 进行编程式测试
Selenium自动录制脚本,java版本;所需要的jar包。包含(Selenium-client.jar,selenium-server.jar;junit.jar)
主要内容为:基于Python 的 Selenium WebDriver 入门知识、Selenium Python脚本、使用unittest 编写单元测试、生成HTML格式的测试报告、元素定位、Selenium Python API 介绍、元素等待机制、跨浏览器测试、移动端...
闲,所以有幸接触到 QTP、Selenium 等自动化测试工具,由于当时水平有限,学习也只停留在录制与回放的水 平上。再次学习 Selenium 是时隔一年之后,笔者有幸跳槽到一家互联网公司继续做 web 软件测试,发现项目适 合...
使用Selenium测试Web项目 测试项目 一个Web项目被测试。 该项目的GitHub存储库位于以下链接: : 。 测试用例设计文档以进行测试 准备用于设计测试用例以进行测试的文档。 该文档可通过以下链接获得: : 测试工具 ...
软件测试丛书 Selenium自动化测试指南,欢迎下载,1111
selenium测试工具的基本原理和方法 selenium IDE测试报告