`
sdyouyun
  • 浏览: 120716 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

使用selenium测试zk组件技巧

阅读更多
对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 楼 tianhama 2009-02-25  
本人ECLIPSE的菜鸟,尝试以下步骤导入,结果workspace目录下连build目录都没有生成,不会自动build--->
1)新建一个“java 项目” 名为“zksrc”
2)想zksrc项目“import”-->"FileSystem" 导入zk源码
--后来上网搜了一下“eclipse import projects”
原来是按一下步骤导入源代码 :
新建一个“java 项目” 名为“zksrc”
————>单击“next”,选中“create project from existing sourc”(http://forums.java.net/jive/thread.jspa?messageID=278985)
-->
找到zk源码目录。
ok,过了一会看到目录下“bin”里生成了zk的class文件。

非常感谢您的帮助!:)

4 楼 sdyouyun 2009-02-24  
  这个貌似该发到入门版。
用eclipse导入源码后会自动编译啊...找到对应文件夹下的class文件就是了
3 楼 tianhama 2009-02-24  
厉害,我找到了原jar包里的HtmlBasedComponent.class文件 ,但有个问题,我怎么把我修改后的 HtmlBasedComponent.java编译成HtmlBasedComponent.class呢 ,直接编译单个HtmlBasedComponent.java文件出错,提示找不到很多引用的类。
请赐教
2 楼 sdyouyun 2009-02-23  
用winrar或者其他的压缩软件打开jar包,直接替换编译后的那个class文件即可
1 楼 tianhama 2009-02-23  
朋友,您说"修改org.zkoss.zk.ui.HtmlBasedComponent这个类",可是,JAVA使用ZK框架时是以jar包形式引用的,如何修改jar包里的源码?
另,我尝试了一下,把zk源代码down下来,按照你的提示修改了,htmlbasedcomponent类,但不知道怎么压缩成jar包,可否教我具体步骤?

相关推荐

    selenium配置文档及相关组件包

    5. **自动化测试环境搭建**: 使用这个组件包,用户可以快速搭建一个完整的Selenium自动化测试环境。首先,需要安装Python和相关依赖;接着,将IEDriverServer添加到系统路径;然后,根据配置文档的指示,设置环境并...

    Selenium测试工具研究报告

    - **运行测试脚本**:使用JUnit框架编写测试类,利用Selenium提供的API模拟用户操作,最后通过JUnit的测试运行器执行测试脚本,查看测试结果。 #### 五、小结 Selenium作为一款成熟的Web自动化测试工具,提供了...

    Selenium测试实践-基于电子商务平台

    《Selenium测试实践:基于电子商务平台》对开源自动化测试工具Selenium进行了详细介绍,帮助读者熟练掌握Selenium的使用方法。《Selenium测试实践:基于电子商务平台》将电子商务平台下的Selenium测试技巧通过具有代 ...

    python selenium 测试报告

    python selenium 测试报告

    selenium测试环境搭建

    为了实现自动化测试,还需要下载以下Selenium组件: - **Selenium IDE**: 用于在Firefox浏览器中录制测试脚本,下载`selenium-ide-2.2.0.xpi`文件。 - **Selenium RC**: 作为服务器端组件运行,下载`selenium-...

    Selenium测试需要jar包完全版

    总的来说,这个压缩包提供了一套基础的Selenium测试环境,包括客户端驱动(Selenium-client.jar),服务器组件(selenium-server.jar)以及单元测试框架(junit.jar)。通过这些工具,开发者可以开始构建自动化测试...

    selenium测试包

    这个“selenium测试包”包含了运行Selenium测试所需的关键组件,特别是描述中的“selenium-2.44.0”可能是一个具体的版本号,代表着该包是Selenium的2.44.0发行版。 Selenium测试框架的核心组成部分包括: 1. **...

    使用selenium测试showModalDialog模态对话框

    在自动化测试领域,Selenium 是一个广泛使用的工具,它允许测试人员通过编写代码来模拟用户在Web应用程序上的交互。然而,对于某些特定的功能,比如 Internet Explorer 中的 `showModalDialog` 方法,Selenium 存在...

    使用selenium进行软件测试

    使用selenium进行软件测试,里面有很多常用的方法。

    Selenium2自动化测试实战 基于Python语言

    11. **最佳实践与调试技巧**:分享作者的经验,教导读者如何优化测试脚本,定位和修复测试问题,以及使用开发者工具进行辅助调试。 通过阅读《Selenium2自动化测试实战——基于Python语言》,读者不仅可以掌握...

    Selenium自动化测试

    Selenium自动化测试是一种非常流行和广泛使用的自动化测试工具,它主要被用于Web应用程序的测试。Selenium自动化测试可以通过模拟用户的操作来测试Web应用程序的功能,从而提高测试效率,确保软件的质量。 Selenium...

    selenium测试工具详细讲解

    8. **测试框架集成**:Selenium 可以与多种测试框架结合使用,如 JUnit(Java)、TestNG(Java)、pytest(Python)等,提供更高级的功能,如测试套件管理、报告生成、异常处理等。 9. **Web服务测试**:虽然...

    JAVA Selenium 自动测试

    `JAVA Selenium 自动测试` 是一种广泛使用的Web应用程序自动化测试技术,它允许开发者使用Java编程语言来控制浏览器,模拟用户的各种交互行为,如点击、输入、导航等,以此来验证应用的功能正确性和性能稳定性。...

    Selenium测试插件

    - "java-format.xpi"可能提供了将Selenium IDE生成的测试脚本转换为Java语言的能力,这对于使用Java编程语言执行Selenium测试的人来说非常有用。 - "ruby-format.xpi"则可能对应Ruby语言的支持,允许用户将测试脚本...

    selenium自动化测试

    **Selenium 自动化测试详解** Selenium 是一个强大的开源自动化测试框架,广泛应用于Web应用程序的测试。它允许测试人员编写可运行在多种浏览器和操作系统上的脚本,从而实现跨平台、跨浏览器的自动化测试。...

    selenium自动化测试 java实例

    **Selenium 自动化测试与 Java 实例** Selenium 是一款强大的开源自动化测试框架,用于模拟用户在浏览器上的各种操作,以...通过学习和实践提供的实例,你将能够熟练掌握Selenium的使用,提升测试效率,确保软件质量。

    开源测试工具-selenium下载

    - **tests**:这个目录可能包含了示例测试脚本或测试套件,展示如何使用Selenium进行测试。 - **META-INF**:这是Java存档(JAR)文件的一个标准部分,包含元数据信息,如作者、许可证等。 - **unittest**:这个目录...

    selenium_ide附件组件

    使用技巧与最佳实践** - **脚本优化**:使用“如果”语句和“等待”命令来处理页面加载延迟,确保脚本的稳定执行。 - **注释和组织**:合理使用注释,将脚本拆分为可重用的函数或模块,提高代码的可读性和复用性。 ...

    [Selenium测试实践-基于电子商务平台].关春银等.扫描版

    此外,书中还会涵盖断言、异常处理、测试报告生成等测试框架的使用技巧,帮助读者构建一套完整的自动化测试解决方案。对于性能测试和回归测试,书中也会有相应章节,讲解如何结合其他工具(如JMeter)进行压力测试,...

Global site tag (gtag.js) - Google Analytics