对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");
分享到:
相关推荐
5. **自动化测试环境搭建**: 使用这个组件包,用户可以快速搭建一个完整的Selenium自动化测试环境。首先,需要安装Python和相关依赖;接着,将IEDriverServer添加到系统路径;然后,根据配置文档的指示,设置环境并...
- **运行测试脚本**:使用JUnit框架编写测试类,利用Selenium提供的API模拟用户操作,最后通过JUnit的测试运行器执行测试脚本,查看测试结果。 #### 五、小结 Selenium作为一款成熟的Web自动化测试工具,提供了...
《Selenium测试实践:基于电子商务平台》对开源自动化测试工具Selenium进行了详细介绍,帮助读者熟练掌握Selenium的使用方法。《Selenium测试实践:基于电子商务平台》将电子商务平台下的Selenium测试技巧通过具有代 ...
python selenium 测试报告
为了实现自动化测试,还需要下载以下Selenium组件: - **Selenium IDE**: 用于在Firefox浏览器中录制测试脚本,下载`selenium-ide-2.2.0.xpi`文件。 - **Selenium RC**: 作为服务器端组件运行,下载`selenium-...
总的来说,这个压缩包提供了一套基础的Selenium测试环境,包括客户端驱动(Selenium-client.jar),服务器组件(selenium-server.jar)以及单元测试框架(junit.jar)。通过这些工具,开发者可以开始构建自动化测试...
这个“selenium测试包”包含了运行Selenium测试所需的关键组件,特别是描述中的“selenium-2.44.0”可能是一个具体的版本号,代表着该包是Selenium的2.44.0发行版。 Selenium测试框架的核心组成部分包括: 1. **...
在自动化测试领域,Selenium 是一个广泛使用的工具,它允许测试人员通过编写代码来模拟用户在Web应用程序上的交互。然而,对于某些特定的功能,比如 Internet Explorer 中的 `showModalDialog` 方法,Selenium 存在...
使用selenium进行软件测试,里面有很多常用的方法。
11. **最佳实践与调试技巧**:分享作者的经验,教导读者如何优化测试脚本,定位和修复测试问题,以及使用开发者工具进行辅助调试。 通过阅读《Selenium2自动化测试实战——基于Python语言》,读者不仅可以掌握...
Selenium自动化测试是一种非常流行和广泛使用的自动化测试工具,它主要被用于Web应用程序的测试。Selenium自动化测试可以通过模拟用户的操作来测试Web应用程序的功能,从而提高测试效率,确保软件的质量。 Selenium...
8. **测试框架集成**:Selenium 可以与多种测试框架结合使用,如 JUnit(Java)、TestNG(Java)、pytest(Python)等,提供更高级的功能,如测试套件管理、报告生成、异常处理等。 9. **Web服务测试**:虽然...
`JAVA Selenium 自动测试` 是一种广泛使用的Web应用程序自动化测试技术,它允许开发者使用Java编程语言来控制浏览器,模拟用户的各种交互行为,如点击、输入、导航等,以此来验证应用的功能正确性和性能稳定性。...
- "java-format.xpi"可能提供了将Selenium IDE生成的测试脚本转换为Java语言的能力,这对于使用Java编程语言执行Selenium测试的人来说非常有用。 - "ruby-format.xpi"则可能对应Ruby语言的支持,允许用户将测试脚本...
**Selenium 自动化测试详解** Selenium 是一个强大的开源自动化测试框架,广泛应用于Web应用程序的测试。它允许测试人员编写可运行在多种浏览器和操作系统上的脚本,从而实现跨平台、跨浏览器的自动化测试。...
**Selenium 自动化测试与 Java 实例** Selenium 是一款强大的开源自动化测试框架,用于模拟用户在浏览器上的各种操作,以...通过学习和实践提供的实例,你将能够熟练掌握Selenium的使用,提升测试效率,确保软件质量。
- **tests**:这个目录可能包含了示例测试脚本或测试套件,展示如何使用Selenium进行测试。 - **META-INF**:这是Java存档(JAR)文件的一个标准部分,包含元数据信息,如作者、许可证等。 - **unittest**:这个目录...
使用技巧与最佳实践** - **脚本优化**:使用“如果”语句和“等待”命令来处理页面加载延迟,确保脚本的稳定执行。 - **注释和组织**:合理使用注释,将脚本拆分为可重用的函数或模块,提高代码的可读性和复用性。 ...
此外,书中还会涵盖断言、异常处理、测试报告生成等测试框架的使用技巧,帮助读者构建一套完整的自动化测试解决方案。对于性能测试和回归测试,书中也会有相应章节,讲解如何结合其他工具(如JMeter)进行压力测试,...