


PhoenixAutotest: WebUI publishing framework that improves test automation
WebUI automated testing framework phoenix.webui.framework releases version 20170610.
This release has fixed some bugs. For more information about Isseus, please visit Github. The main functions added are as follows:
Added annotations to configure PageObject (page object), the unit test code is as follows (all the codes in this article can be obtained in the Github project):
/* * * * 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; } }
The test code is as follows:
/* * * * 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(); } }
Related Links
Detailed introduction of PhoenixAutotest: click to view
PhoenixAutotest download address: click to download
The above is the detailed content of PhoenixAutotest: WebUI publishing framework that improves test automation. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Steps to start Nginx in Linux: Check whether Nginx is installed. Use systemctl start nginx to start the Nginx service. Use systemctl enable nginx to enable automatic startup of Nginx at system startup. Use systemctl status nginx to verify that the startup is successful. Visit http://localhost in a web browser to view the default welcome page.

How to confirm whether Nginx is started: 1. Use the command line: systemctl status nginx (Linux/Unix), netstat -ano | findstr 80 (Windows); 2. Check whether port 80 is open; 3. Check the Nginx startup message in the system log; 4. Use third-party tools, such as Nagios, Zabbix, and Icinga.

Starting an Nginx server requires different steps according to different operating systems: Linux/Unix system: Install the Nginx package (for example, using apt-get or yum). Use systemctl to start an Nginx service (for example, sudo systemctl start nginx). Windows system: Download and install Windows binary files. Start Nginx using the nginx.exe executable (for example, nginx.exe -c conf\nginx.conf). No matter which operating system you use, you can access the server IP

Answer to the question: 304 Not Modified error indicates that the browser has cached the latest resource version of the client request. Solution: 1. Clear the browser cache; 2. Disable the browser cache; 3. Configure Nginx to allow client cache; 4. Check file permissions; 5. Check file hash; 6. Disable CDN or reverse proxy cache; 7. Restart Nginx.

In Linux, use the following command to check whether Nginx is started: systemctl status nginx judges based on the command output: If "Active: active (running)" is displayed, Nginx is started. If "Active: inactive (dead)" is displayed, Nginx is stopped.

The server does not have permission to access the requested resource, resulting in a nginx 403 error. Solutions include: Check file permissions. Check the .htaccess configuration. Check nginx configuration. Configure SELinux permissions. Check the firewall rules. Troubleshoot other causes such as browser problems, server failures, or other possible errors.

The error log is located in /var/log/nginx (Linux) or /usr/local/var/log/nginx (macOS). Use the command line to clean up the steps: 1. Back up the original log; 2. Create an empty file as a new log; 3. Restart the Nginx service. Automatic cleaning can also be used with third-party tools such as logrotate or configured.

The key differences between CentOS and Ubuntu are: origin (CentOS originates from Red Hat, for enterprises; Ubuntu originates from Debian, for individuals), package management (CentOS uses yum, focusing on stability; Ubuntu uses apt, for high update frequency), support cycle (CentOS provides 10 years of support, Ubuntu provides 5 years of LTS support), community support (CentOS focuses on stability, Ubuntu provides a wide range of tutorials and documents), uses (CentOS is biased towards servers, Ubuntu is suitable for servers and desktops), other differences include installation simplicity (CentOS is thin)
