`
yangzx554
  • 浏览: 19871 次
  • 性别: 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出来的页面

相关推荐

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

    本文介绍的是一本关于Selenium自动化测试的实践指南,它以Python语言为编程基础,提供了一系列自动化测试的实践技巧和实例。以下知识点将详细介绍书中所涉及的关键内容。 首先,了解Selenium。Selenium是一个用于...

    selenium2 python自动化测试 PDF学习

    在Python环境中,Selenium与Python结合,可以快速实现Web自动化测试。以下知识点将围绕“Selenium2 Python自动化测试 PDF学习”的相关内容展开。 首先,了解Selenium是进行Web自动化测试的基础。Selenium提供了...

    selenium2 python自动化测试.pdf

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

    selenium2 python 自动化测试实践pdf

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

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

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

    selenium2python自动化测试实战修订

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

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

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

    Selenium2 Java自动化测试实战

    本书旨在帮助读者掌握Selenium2的核心概念、API以及最佳实践,以便在实际项目中高效地执行自动化测试。 Selenium2,也被称为Selenium WebDriver,是一个强大的开源自动化测试框架,用于模拟用户在浏览器中的操作。...

    selenium 2 python自动化测试实战.pdf

    综上所述,本书通过实例和详细的步骤讲解,帮助读者理解如何使用selenium和python进行web自动化测试,以及如何在实践中不断提高自动化测试技能。通过阅读本书,读者可以掌握基本的自动化测试理念和操作,从而为今后...

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

    《Selenium2 Java自动化测试实战 第二版》这本书主要围绕Selenium2工具在Java语言环境下的自动化测试实践进行介绍,内容涵盖了Selenium工具的使用、XPATH语法、登陆验证等多方面知识点。Selenium作为一个广泛使用的...

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

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

    selenium2 python自动化测试项目实战

    特别是在持续集成(CI)环境中,自动化测试更是不可或缺的一部分。 #### 三、本书面向对象及目标 - **面向编程基础较弱的读者**:本书提供了一个循序渐进的学习路径,适合完全没有编程经验的新手入门。 - **面向有...

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

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

    selenium2 python自动化测试实战修订

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

    selenium2 python 自动化测试实战 完整中文版 高清版本pdf

    - **Python在自动化测试中的优势**:Python作为一种简洁易学的语言,在自动化测试领域有广泛的应用。它的语法清晰简洁,拥有强大的库支持,使得编写测试脚本变得简单高效。 #### 二、Selenium2与Python结合的优势 -...

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

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

    selenium自动化测试

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

Global site tag (gtag.js) - Google Analytics