`
yangzx554
  • 浏览: 19642 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

selenium在网站自动化测试中的实践

阅读更多
     最近用selenium在做网站自动化,按照google用selenium的经验做了一些尝试。
     主要分成了4层,这样做主要是为了对于代码重用性的考虑。
     第一层是UIobject,主要是对于页面上的UI做了一些封装
     
public class SelectUIObject extends UIObjiect {

    private SeleniumHelper helper = new SeleniumHelper();
    public String read(String locator){
        return  helper.getSelectOptions( locator);
    };
    public void write(String locator, String value) {
       String selectValue ="label="+value;
        helper.select(locator, selectValue);
    }
}
       

   其中的SeleniumHelper是一些基本selenium的客户端的封装,如;
    public String getSelectOptions(String locator) {
        String[] values = SeleniumTestCase.browser.getSelectOptions(locator);
        String value = "";
        for (int i = 0; i < values.length; i++) {
            value = value + values[i];
            value = value + ',';
        }
        return value;
    }
}

   第二层页面层,主要是页面的ui的封装 。如
/**
 * 搜索价格
 * @param price 单位下拉
 * @param maxPrice 最高价格
 * @param minPrice 最低价格
 */
    public void searchPrice(String price,String maxPrice,String minPrice) {
        selectUI.write("o.121", price);
        textUI.write("o.price", minPrice);
        textUI.write("document.forms[1].elements[4]", maxPrice);
        LinkUI.write("document.forms[1].elements[5]");
        waitForPageToLoad("30000");
    }
这里有些问题,主要页面上的元素的定位,还是在代码中写死,对于页面的改版还是需要修改源代码
   第三层测试层,测试的断言验证的
    @Test
    public void testIndex() throws FileNotFoundException, InterruptedException  {
        int count = 15;
        PostClient client = new PostClient();
        init_date();
        client.login("this92", "123456");
        client.openUrl(TestUtil.Site,TestUtil.PostURL);
        client.waitForPageToLoad("30000");
        postView(list,UIObjects,count);
    }

  public void  init_date() throws FileNotFoundException{
         UIObjects = Yaml.loadType(new FileInputStream(new File( +"post_view_UI.yml")), HashMap.class);
         list = Yaml.loadType(new FileInputStream(new File(+"post_view_value.yml")), HashMap.class);
    }

  这些用yml存放一些数据。
  还有最后一层,是对于测试数据的封装,比如email的生成,还有一些公用方法的封装。
  目前从效果,比以前把所有的逻辑写在testcase中提高了一定的重用性,对于页面的改版只要需要修改部分页面层,测试逻辑那块基本上不需要修改。
  google的视频资源 http://www.youtube.com/watch?v=hWQdCdH77NA
分享到:
评论
2 楼 yangzx554 2009-03-21  
kimmking 写道
不错的东西,tw~

有些东西selenium测不了

比如ext的页面或是jsf出来的页面

  还好我们没有这些复杂的js的控件,只是纯网站的东西,一些简单的js。
1 楼 kimmking 2009-03-21  
不错的东西,tw~

有些东西selenium测不了

比如ext的页面或是jsf出来的页面

相关推荐

    Selenium2 Java自动化测试实战

    从 2013 年开始用 Python 和 Selenium 进行自动化测试的实践,其间的过程颇为艰辛,除了官方文档,相关 的资料并不算太多,尤其是中文资料;相比较而言 Java 和 Selenium 网上的资料要更多一些,这其中主要的原因 是...

    selenium2 python 自动化测试实践pdf

    《Selenium2 Python 自动化测试实践》是一本深度探讨使用Python编程语言与Selenium2进行Web应用程序自动化测试的专业书籍。Selenium是一个广泛使用的开源测试框架,它允许开发者编写可运行在多种浏览器和操作系统上...

    selenium2 python自动化测试.pdf

    在这个过程中,作者得到了同行的反馈和指导,不断改进和完善他的自动化测试实践。 总结来说,《Selenium2 Python自动化测试实战》是一本实践导向的书籍,它不仅提供了Selenium WebDriver的使用教程,还传递了如何...

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

    1. **Selenium介绍**:讲解Selenium的历史、架构和其在Web自动化测试中的地位,以及为什么选择Python作为Selenium的编程语言。 2. **环境配置**:指导读者如何安装Python环境,以及安装和配置Selenium库及其依赖,...

    selenium自动化测试实践——基于python语言

    selenium + python的自动化测试书籍,高清版,适合软件自动化测试人员,由浅入深,代码实例丰富,对自学者很有帮助

    selenium2python自动化测试实战修订

    本书旨在帮助读者掌握自动化测试的基本原理、方法和技术,特别是聚焦于Selenium 2(也称为Selenium 2.0或WebDriver)在Python环境中的应用。 Selenium是一个开源的自动化测试框架,支持多种编程语言,如Python、...

    selenium+python自动化测试实践(二三合集)

    这是关于selenium基于python的自动化测试的内容,很适合新手入门,作者由浅入深的讲解了如何使用selenium做自动化测试,包括环境的搭建等资源

    selenium2 python自动化测试实践

    这不是一本编程语言和技巧的书籍,虽然书中涉及了很多python 知识,以及其他的技术...它更多的是充当“布道者”的角色,通过大量的实例,传达一种思维模式:如何利用python+selenium 组建起生产应用的web 自动化测试。

    Selenium2 Java自动化测试实战 第一版

    最后,可能还会分享一些最佳实践和技巧,帮助读者在实际工作中更好地应用Selenium进行自动化测试。 总的来说,《Selenium2 Java自动化测试实战》是一本全面的教程,旨在帮助读者掌握Selenium 2与Java的结合,提升...

    selenium2 python自动化测试实战修订

    1. **Selenium介绍**:讲解Selenium的基本概念、历史、特点以及在自动化测试领域的地位。包括WebDriver与Selenium RC的比较,以及为何选择Python作为Selenium的绑定语言。 2. **安装与环境配置**:详述如何在不同...

    Python+selenium自动化测试源码分享,讲解详细

    在IT行业中,自动化测试是提升效率、确保软件质量的关键手段之一。Python作为一门简洁易读的语言,被广泛用于编写自动化测试脚本。Selenium则是一款强大的网页自动化测试工具,能够模拟用户行为,对Web应用程序进行...

    selenium2 python自动化测试_电子版pdf

    在IT行业中,Python被广泛应用于Web开发、数据分析、机器学习等多个领域,而在软件测试领域,Python结合Selenium2库更是自动化测试的重要工具。 Selenium是一个开源的Web应用程序自动化测试框架,它允许开发者模拟...

    selenium自动化测试

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

    SELENIUM2+自动化测试实战+基于PYTHON语言.pdf

    - 书籍与教程:《Selenium自动化测试实战》等书籍提供深入指导。 通过学习和实践这些知识点,自动化测试人员和爬虫工程师可以利用Selenium2和Python有效地实现Web应用的自动化测试,提高工作效率,并保证软件质量...

    selenium2 python自动化测试实战PDF版

    《Selenium2 Python自动化测试实战》是一本深入探讨如何利用Python和Selenium2进行Web自动化测试...通过深入学习和实践,你将能够运用Python和Selenium2构建高效、稳定的自动化测试框架,提高软件项目的质量和可靠性。

    selenium2 python 自动化测试实战 示例

    在压缩包`Selenium2-master`中,可能包含了书中的各个代码示例,这些示例覆盖了从基础操作到高级特性的方方面面,可以帮助读者更好地理解和应用Selenium2进行Python自动化测试。通过学习和实践这些示例,你将能够...

    selenium+java+python自动化测试

    通过阅读提供的PDF文档,你将有机会深入学习以上各个知识点,并通过实际案例提升你的Selenium自动化测试能力,无论你是Java开发者还是Python爱好者,都能从中受益。记得实际操作和练习,因为实践是检验学习效果的...

Global site tag (gtag.js) - Google Analytics