多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

WebUI自动化测试框架PhoenixAutotest发布新版

更新时间:2022-04-15 09:21:14 作者:多测师 浏览:78

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

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

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

WebUI自动化测试框架PhoenixAutotest发布新版

  /*

  *

  * * 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();

  }

  }

  以上内容为大家介绍了WebUI自动化测试框架PhoenixAutotest发布新版,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部