WebUI-Framework für automatisierte Tests phoenix.webui.framework veröffentlicht Version 20170610.
In dieser Version wurden einige Fehler behoben. Weitere Informationen zu Isseus finden Sie auf Github. Die wichtigsten hinzugefügten Funktionen sind wie folgt:
Anmerkungen zum Konfigurieren von PageObject (Seitenobjekt) hinzugefügt. Der Unit-Test-Code lautet wie folgt (alle Codes in diesem Artikel können im Github-Projekt abgerufen werden):
/* * * * 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; } }
Der Testcode lautet wie folgt:
/* * * * 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(); } }
Verwandte Links
Detaillierte Einführung von PhoenixAutotest: Klicken Sie zum Anzeigen
PhoenixAutotest-Download-Adresse: Klicken Sie zum Herunterladen
Das obige ist der detaillierte Inhalt vonPhoenixAutotest: WebUI-Publishing-Framework, das die Testautomatisierung verbessert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!