最近用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
分享到:
相关推荐
本文介绍的是一本关于Selenium自动化测试的实践指南,它以Python语言为编程基础,提供了一系列自动化测试的实践技巧和实例。以下知识点将详细介绍书中所涉及的关键内容。 首先,了解Selenium。Selenium是一个用于...
在Python环境中,Selenium与Python结合,可以快速实现Web自动化测试。以下知识点将围绕“Selenium2 Python自动化测试 PDF学习”的相关内容展开。 首先,了解Selenium是进行Web自动化测试的基础。Selenium提供了...
在这个过程中,作者得到了同行的反馈和指导,不断改进和完善他的自动化测试实践。 总结来说,《Selenium2 Python自动化测试实战》是一本实践导向的书籍,它不仅提供了Selenium WebDriver的使用教程,还传递了如何...
《Selenium2 Python 自动化测试实践》是一本深度探讨使用Python编程语言与Selenium2进行Web应用程序自动化测试的专业书籍。Selenium是一个广泛使用的开源测试框架,它允许开发者编写可运行在多种浏览器和操作系统上...
1. **Selenium介绍**:讲解Selenium的历史、架构和其在Web自动化测试中的地位,以及为什么选择Python作为Selenium的编程语言。 2. **环境配置**:指导读者如何安装Python环境,以及安装和配置Selenium库及其依赖,...
本书旨在帮助读者掌握自动化测试的基本原理、方法和技术,特别是聚焦于Selenium 2(也称为Selenium 2.0或WebDriver)在Python环境中的应用。 Selenium是一个开源的自动化测试框架,支持多种编程语言,如Python、...
这是关于selenium基于python的自动化测试的内容,很适合新手入门,作者由浅入深的讲解了如何使用selenium做自动化测试,包括环境的搭建等资源
本书旨在帮助读者掌握Selenium2的核心概念、API以及最佳实践,以便在实际项目中高效地执行自动化测试。 Selenium2,也被称为Selenium WebDriver,是一个强大的开源自动化测试框架,用于模拟用户在浏览器中的操作。...
综上所述,本书通过实例和详细的步骤讲解,帮助读者理解如何使用selenium和python进行web自动化测试,以及如何在实践中不断提高自动化测试技能。通过阅读本书,读者可以掌握基本的自动化测试理念和操作,从而为今后...
《Selenium2 Java自动化测试实战 第二版》这本书主要围绕Selenium2工具在Java语言环境下的自动化测试实践进行介绍,内容涵盖了Selenium工具的使用、XPATH语法、登陆验证等多方面知识点。Selenium作为一个广泛使用的...
在IT行业中,Python被广泛应用于Web开发、数据分析、机器学习等多个领域,而在软件测试领域,Python结合Selenium2库更是自动化测试的重要工具。 Selenium是一个开源的Web应用程序自动化测试框架,它允许开发者模拟...
特别是在持续集成(CI)环境中,自动化测试更是不可或缺的一部分。 #### 三、本书面向对象及目标 - **面向编程基础较弱的读者**:本书提供了一个循序渐进的学习路径,适合完全没有编程经验的新手入门。 - **面向有...
最后,可能还会分享一些最佳实践和技巧,帮助读者在实际工作中更好地应用Selenium进行自动化测试。 总的来说,《Selenium2 Java自动化测试实战》是一本全面的教程,旨在帮助读者掌握Selenium 2与Java的结合,提升...
1. **Selenium介绍**:讲解Selenium的基本概念、历史、特点以及在自动化测试领域的地位。包括WebDriver与Selenium RC的比较,以及为何选择Python作为Selenium的绑定语言。 2. **安装与环境配置**:详述如何在不同...
- **Python在自动化测试中的优势**:Python作为一种简洁易学的语言,在自动化测试领域有广泛的应用。它的语法清晰简洁,拥有强大的库支持,使得编写测试脚本变得简单高效。 #### 二、Selenium2与Python结合的优势 -...
在IT行业中,自动化测试是提升效率、确保软件质量的关键手段之一。Python作为一门简洁易读的语言,被广泛用于编写自动化测试脚本。Selenium则是一款强大的网页自动化测试工具,能够模拟用户行为,对Web应用程序进行...
**Selenium 自动化测试详解** Selenium 是一个强大的开源自动化测试框架,广泛应用于Web应用程序的测试。它允许测试人员编写可运行在多种浏览器和操作系统上的脚本,从而实现跨平台、跨浏览器的自动化测试。...