阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

WebUI发布自动化测试框架PhoenixAutotest

102次阅读
没有评论

共计 3892 个字符,预计需要花费 10 分钟才能阅读完成。

介绍

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 的下载地址:点击下载

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-24发表,共计3892字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中