介绍

这里介绍一个基于Selenium实现的一个web自动化测试框架,本框架主要是通过对Selenium的封装实现降低学习自动化测试框架的难度。 

所需知识

Java基础、XML基础

特色

元素模型

元素选择策略

数据源

支持多种浏览器

支持浏览器参数配置(宽度、高度等)

支持Selenium引擎参数配置

示例

使用本框架,只需要继承Page类实现对测试页面的封装、Page类信息描述xml文件、测试类即可。如果您需要使用数据源的话,支持xml格式的数据源。

下面是测试类:

[codesyntax lang="java"]


package org.suren.autotest.web.framework.test;

import org.suren.autotest.web.framework.settings.SettingUtil;
import org.suren.autotest.web.framework.surenpi.HomePage;

public class SuRenPiTest {

public static void main(String[] args) throws Exception {
SettingUtil util = new SettingUtil();

try {
util.readFromClassPath("surenpi_website.xml");

HomePage homePage = util.getPage(HomePage.class);

homePage.open();
homePage.getHomeBut().click();

for(int i = 0; i < 18; i++) {
homePage.getNextBut().click();

Thread.sleep(1000);
}

homePage.getArchivesSelector().selectByText(" 2015年五月 (15)");

Thread.sleep(3000);

homePage.close();
} finally {
}
}

}


[/codesyntax]

下面是Page类:

[codesyntax lang="java"]


package org.suren.autotest.web.framework.surenpi;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.suren.autotest.web.framework.core.ui.Button;
import org.suren.autotest.web.framework.core.ui.Selector;
import org.suren.autotest.web.framework.page.Page;

@Component("surenpi.home.page")
public class HomePage extends Page {
@Autowired
private Button homeBut;
@Autowired
private Selector archivesSelector;
@Autowired
private Button nextBut;

public Button getHomeBut() {
return homeBut;
}

public void setHomeBut(Button homeBut) {
this.homeBut = homeBut;
}

public Selector getArchivesSelector() {
return archivesSelector;
}

public void setArchivesSelector(Selector archivesSelector) {
this.archivesSelector = archivesSelector;
}

public Button getNextBut() {
return nextBut;
}

public void setNextBut(Button nextBut) {
this.nextBut = nextBut;
}
}


[/codesyntax]

下面是Page类描述文件:

[codesyntax lang="xml"]


<autotest>
<engine driver="chrome" timeout="30" fullScreen="true" width="1286" height="768">
</engine>
<pages>
<page class="org.suren.autotest.web.framework.surenpi.HomePage"
url="http://surenpi.com">
<field name="homeBut" byLinkText="素人派" type="button" />
<field name="archivesSelector" byId="archives-dropdown-2" type="select" />
<field name="nextBut" byLinkText="下一个 →" byCss="next page-numbers" type="button" />
</page>
</pages>
</autotest>


[/codesyntax]

备注

由于本框架还处于内测阶段,如有感兴趣的童鞋可以留言交流!