????????
????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();
????}
????}