自动化测试框架PhoenixAutotest入门

  • 介绍

这里介绍一个基于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及以上。按照如下步骤操作:

自动化测试框架PhoenixAutotest入门 自动化测试框架PhoenixAutotest入门 自动化测试框架PhoenixAutotest入门 自动化测试框架PhoenixAutotest入门 自动化测试框架PhoenixAutotest入门

创建好的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)!对本框架感兴趣的童鞋加入到框架的开源行动中!

上一篇:开源最佳实践


下一篇:Spring 3.2 @Autowired异常:expected single matching bean but found 2