-
介绍
这里介绍一个基于Selenium实现的一个web自动化测试框架,本框架主要是通过对Selenium的封装实现降低学习自动化测试框架的难度。
如果,您还对Selenium不了解的话,可以先参考《Selenium学习建议》。
-
入门知识
Java基础
-
环境
jdk1.8、Eclipse、Maven
-
入门
可以根据您的习惯来新建Java工程或者Maven工程。如果是Maven工程的话,请添加如下依赖:
<dependencies> <dependency> <groupId>com.surenpi.autotest</groupId> <artifactId>autotest.web.framework</artifactId> <version>2.0.0-20170722</version> </dependency> </dependencies>
我推荐使用Maven工程,不建议从Github上clone出工程源码来直接修改。另外,您需要确保工程使用的JDK版本为1.8及以上。按照如下步骤操作:
创建好的pom.xml内容应该是:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.surenpi.autotest</groupId> <artifactId>autotest.parent</artifactId> <version>1.0.1-20170618</version> </parent> <groupId>org.suren.demo</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.6.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.surenpi.autotest</groupId> <artifactId>autotest.web.framework</artifactId> <version>2.0.0-20170722</version> </dependency> </dependencies> </project>
-
测试类
添加下面是测试类,并运行即可:
package demo; import java.io.IOException; import org.suren.autotest.web.framework.annotation.AutoApplication; import org.suren.autotest.web.framework.annotation.AutoLocator; import org.suren.autotest.web.framework.annotation.AutoPage; import org.suren.autotest.web.framework.selenium.WebPage; import org.suren.autotest.web.framework.settings.Phoenix; import org.suren.autotest.web.framework.util.ThreadUtil; import com.surenpi.autotest.webui.core.LocatorType; import com.surenpi.autotest.webui.ui.Button; import com.surenpi.autotest.webui.ui.Text; @AutoApplication public class BaiduTest { public static void main(String[] args) throws IOException { Phoenix phoenix = new Phoenix(BaiduTest.class); phoenix.init(); BaiduPage page = phoenix.getPage(BaiduPage.class); page.open(); page.getKeyword().fillValue("PhoenixAutotest"); page.getSearchBut().click(); ThreadUtil.silentSleep(3000); phoenix.close(); } } @AutoPage(url = "http://baidu.com", startPage = true) class BaiduPage extends WebPage { @AutoLocator(locator = LocatorType.BY_ID, value = "kw") private Text keyword; @AutoLocator(locator = LocatorType.BY_ID, value = "su") private Button searchBut; public Text getKeyword() { return keyword; } public void setKeyword(Text keyword) { this.keyword = keyword; } public Button getSearchBut() { return searchBut; } public void setSearchBut(Button searchBut) { this.searchBut = searchBut; } }
如果启动报错的话,可能是您的浏览器版本的问题,请在src/main/resources目录下新建文件engine.properties,并添加如下内容指定浏览器的版本号:
chrome.version=46
-
备注
如有感兴趣的童鞋可以留言交流(QQ群:52492046)!对本框架感兴趣的童鞋加入到框架的开源行动中!