All Projects → LinuxSuRen → phoenix.webui.framework

LinuxSuRen / phoenix.webui.framework

Licence: Apache-2.0 license
基于WebDriver的WebUI自动化测试框架

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to phoenix.webui.framework

Protractor
E2E test framework for Angular apps
Stars: ✭ 8,792 (+7350.85%)
Mutual labels:  webdriver, test, selenium
Tib
Easy e2e browser testing in Node
Stars: ✭ 64 (-45.76%)
Mutual labels:  webdriver, test, selenium
Thirtyfour
Selenium WebDriver client for Rust, for automated testing of websites
Stars: ✭ 191 (+61.86%)
Mutual labels:  webdriver, selenium
Python Scripts
Collection of Various Python Script's.💻
Stars: ✭ 195 (+65.25%)
Mutual labels:  webdriver, selenium
Steward
PHP libraries that makes Selenium WebDriver + PHPUnit functional testing easy and robust
Stars: ✭ 215 (+82.2%)
Mutual labels:  webdriver, selenium
Qtwebdriver
WebDriver implementation for Qt
Stars: ✭ 152 (+28.81%)
Mutual labels:  webdriver, selenium
Windows Images
Step by step instructions for building Docker images with Windows
Stars: ✭ 170 (+44.07%)
Mutual labels:  webdriver, selenium
Splinter
splinter - python test framework for web applications
Stars: ✭ 2,476 (+1998.31%)
Mutual labels:  webdriver, selenium
Nightwatch
End-to-end testing framework written in Node.js and using the Webdriver API
Stars: ✭ 10,912 (+9147.46%)
Mutual labels:  webdriver, selenium
Selenoid Ui
Graphical user interface for Selenoid project
Stars: ✭ 237 (+100.85%)
Mutual labels:  webdriver, selenium
Cdp4j
cdp4j - Chrome DevTools Protocol for Java
Stars: ✭ 232 (+96.61%)
Mutual labels:  webdriver, selenium
Pytest Selenium
Plugin for running Selenium with pytest
Stars: ✭ 246 (+108.47%)
Mutual labels:  webdriver, selenium
Uirecorder
UI Recorder is a multi-platform UI test recorder.
Stars: ✭ 1,895 (+1505.93%)
Mutual labels:  webdriver, selenium
Webium
Webium is a Page Object pattern implementation library for Python (http://martinfowler.com/bliki/PageObject.html). It allows you to extend WebElement class to your custom controls like Link, Button and group them as pages.
Stars: ✭ 144 (+22.03%)
Mutual labels:  webdriver, selenium
Seleniumbase
A Python framework that inspires developers to become better test automation engineers. 🧠💡
Stars: ✭ 2,520 (+2035.59%)
Mutual labels:  webdriver, selenium
Java.webdriver
Browser test automation using Selenium WebDriver in Java
Stars: ✭ 135 (+14.41%)
Mutual labels:  webdriver, selenium
Panther
A browser testing and web crawling library for PHP and Symfony
Stars: ✭ 2,480 (+2001.69%)
Mutual labels:  webdriver, selenium
Faker
Faker is a pure Elixir library for generating fake data.
Stars: ✭ 673 (+470.34%)
Mutual labels:  phoenix, test
Selenium Ide
Open Source record and playback test automation for the web.
Stars: ✭ 1,815 (+1438.14%)
Mutual labels:  webdriver, selenium
Autolink
AutoLink是一个开源Web IDE自动化测试集成解决方案
Stars: ✭ 129 (+9.32%)
Mutual labels:  webdriver, selenium

License Maven Central

PhoenixAutoTest

本项目是一个基于 Selenium 的Web自动测试框架,通过该框架可以简化测试人员的学习难度,只要 编写少量的Java代码即可,大多数的工作都是编写页面元素的描述文件以及对应的数据源。以下是本框架的特色:

  • 支持多种元素选择策略(优先级、循环、区域)
  • 支持多种数据源yamlexcel
  • 支持包括:HTMLExcelJira数据库等格式的测试报告输出
  • 支持数据源、URL、元素定位信息的参数化
  • 支持密文数据,javascript、groovy、freemarker等动态脚本数据
  • 支持动态生成日期、身份证号码、手机号、邮编等数据
  • 支持操作日志生成GIF动态图片
  • 支持主流的浏览器(ie、firefox、chrome、opera、safari)以及 headless 模式
  • 支持纯 XML 编写完成自动化测试功能
  • 自动下载 WebDriver 驱动

快速开始

你可以先下载这个示例项目,来快速地体验。

引擎配置

你可以通过引擎配置文件 engine.properties 调整框架的默认行为,支持的配置项包括:

Key 默认值 描述
engine.autoLoad true 是否自动下载 WebDriver
cookie.save false
cookie.save.path phoenix.autotest.cookie
chrome.version Chrome 浏览器版本
chrome.args.headless false
chrome.args.intl.accept_languages
chrome.args.lang 浏览器语言设置,例如:zh_CN
chrome.args.window-size= 设置浏览器窗口大小,例如:1024,768

在 Maven 项目中,该文件的位置是:src/main/resources/engine.properties。你可以从 Chrome 官方文档 查找完整的参数。

元素定位

国际化页面

对于具有国际化的前端页面,浏览器的语言不同的情况下页面元素会有不同的展示。例如:一个按钮中文时显示为:确认,英文时显示为:OK。 此时,如果我们希望通过这里的文本字符串来定位的话,可以参考下面的示例,同时提供多个定位方法,并指定语言:

@AutoLocators(strategy = StrategyType.CYLE, locators = {
    @AutoLocator(locator = LocatorType.BY_XPATH, value = "//p[contains(text(),'企业空间')]", lang = "zh-CN"),
    @AutoLocator(locator = LocatorType.BY_XPATH, value = "//p[contains(text(),'Workspaces')]")
})
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].