自动化测试框架PhoenixAutotest入门

PhoenixAutoTest是一个基于 Selenium 的Web自动测试框架,通过该框架可以简化测试人员的学习难度,只要 编写少量的Java代码即可,大多数的工作都是编写页面元素的描述文件以及对应的数据源。

成都创新互联公司专业为企业提供普陀网站建设、普陀做网站、普陀网站设计、普陀网站制作等企业网站建设、网页设计与制作、普陀企业网站模板建站服务,十载普陀做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

介绍

WebUI自动化测试框架phoenix.webui.framework发布20170610版本。

本次发布修正了一些bug,更多Isseus信息请访问Github。添加的主要功能如下:

增加了通过注解的方式来配置PageObject(页面对象),单元测试代码如下(本文所有的代码都可以在Github项目中获取):

/*
*
*  * Copyright 2002-2007 the original author or authors.
*  *
*  * Licensed under the Apache License, Version 2.0 (the "License");
*  * you may not use this file except in compliance with the License.
*  * You may obtain a copy of the License at
*  *
*  *      http://www.apache.org/licenses/LICENSE-2.0
*  *
*  * Unless required by applicable law or agreed to in writing, software
*  * distributed under the License is distributed on an "AS IS" BASIS,
*  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*  * See the License for the specific language governing permissions and
*  * limitations under the License.
*
*/

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

import org.suren.autotest.web.framework.annotation.AutoDataSource;
import org.suren.autotest.web.framework.annotation.AutoLocator;
import org.suren.autotest.web.framework.annotation.AutoPage;
import org.suren.autotest.web.framework.annotation.AutoStrategy;
import org.suren.autotest.web.framework.core.LocatorType;
import org.suren.autotest.web.framework.core.StrategyType;
import org.suren.autotest.web.framework.core.ui.Button;
import org.suren.autotest.web.framework.core.ui.Text;

/**
* 使用注解的示例Page类
* @author suren
* @date 2017年6月7日 下午7:10:40
*/
@AutoPage(url = "http://maimai.cn/")
@AutoDataSource(name = "data", resource = "dataSource/xml/user_data_anno.xml")
public class AnnotationPage extends Page
{
@AutoStrategy(type = StrategyType.PRIORITY)
@AutoLocator(locator = LocatorType.BY_PARTIAL_LINK_TEXT, value = "实名动态")
private Button toLoginBut;

@AutoLocator(locator = LocatorType.BY_XPATH, value = "//input[@placeholder='请输入手机号码/脉脉号']")
private Text phoneText;

public Button getToLoginBut() {
 return toLoginBut;
}

public void setToLoginBut(Button toLoginBut) {
 this.toLoginBut = toLoginBut;
}

public Text getPhoneText() {
 return phoneText;
}

public void setPhoneText(Text phoneText) {
 this.phoneText = phoneText;
}
}

测试代码如下:

/*
*
*  * Copyright 2002-2007 the original author or authors.
*  *
*  * Licensed under the Apache License, Version 2.0 (the "License");
*  * you may not use this file except in compliance with the License.
*  * You may obtain a copy of the License at
*  *
*  *      http://www.apache.org/licenses/LICENSE-2.0
*  *
*  * Unless required by applicable law or agreed to in writing, software
*  * distributed under the License is distributed on an "AS IS" BASIS,
*  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*  * See the License for the specific language governing permissions and
*  * limitations under the License.
*
*/

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

import org.junit.*;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.suren.autotest.web.framework.IgnoreReasonConstants;
import org.suren.autotest.web.framework.page.AnnotationPage;
import org.suren.autotest.web.framework.settings.DriverConstants;
import org.suren.autotest.web.framework.settings.SettingUtil;

import java.io.IOException;

/**
* 测试使用注解配置的方式
* @author suren
* @date 2017年6月7日 下午7:10:12
*/
@Configuration
@ComponentScan(basePackages = "org.suren.autotest.web.webframework.page")
public class AutoAnnotationTest
{
private SettingUtil util;

@Before
public void setUp()
{
 util = new SettingUtil();
}

@Test
public void basicTest()
{
 util.getEngine().setDriverStr(DriverConstants.DRIVER_HTML_UNIT);
 util.getEngine().init();

 AnnotationPage page = util.getPage(AnnotationPage.class);
 
 Assert.assertNotNull(page);
 Assert.assertNotNull(page.getUrl());

 Assert.assertNotNull(page.getToLoginBut());

 page.open();
 page.getToLoginBut().click();
}

@Test
@Ignore(value = IgnoreReasonConstants.REAL_BROWSER)
public void realTest()
{
 util.getEngine().setDriverStr(DriverConstants.DRIVER_CHROME);
 util.getEngine().init();
 util.initData();

 AnnotationPage page = util.getPage(AnnotationPage.class);
 page.open();
 page.getToLoginBut().click();

 page.getPhoneText().fillNotBlankValue();

 ThreadUtil.silentSleep(3000);
}

@After
public void tearDown() throws IOException
{
 util.close();
}
}

相关链接

PhoenixAutotest 的详细介绍:点击查看

PhoenixAutotest 的下载地址:点击下载

网页题目:自动化测试框架PhoenixAutotest入门
文章起源:http://www.shufengxianlan.com/qtweb/news8/271308.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联