PhoenixAutotest

基於Selenium的自動化測試框架Phoenix,採用Java語言編寫的。已經覆蓋了WebUI自動化測試過程中需要的大部分功能封裝。

基本介紹

  • 中文名:菲尼克斯
  • 外文名:Phoenix
術語簡介,特色,環境搭建,入門,數據源,xml,excel,yaml,參數化,測試報告,

術語簡介

元素定位,數據源,測試流程的分層思想,使得腳本(代碼)易維護,框架易擴展。元素定位部分,可以採用xml、yaml、excel或者Java註解的的方式來描述。數據源同樣支持多種常用的檔案格式來表示。而測試流程部分,您可以藉助JUnit、TestNG或者本框架提供的方式來做。
而參數化則是另一維度的封裝,在元素定位信息、數據源等地方都可以使用參數化來讓您的腳本更加動態,簡化編碼和維護成本。
針對sessionStorage、cookie的處理,框架也給出了方案:通過在方法上添加Java註解,即可實現自動保存和載入sessionStorage或者cookie。這樣,部分基於這兩種技術來實現會話校驗的web程式,就可以實現免登錄的效果。
對於測試報告,正是這次發版的重點——框架給出了三種類型的報告:Excel、資料庫、Jira,並提供可擴展的報告外掛程式接口。

特色

  • 支持多種元素選擇策略(優先權、循環、區域)
  • 支持多種數據源(xml、excel、yaml)
  • 支持多種格式的動態數據(參數化)
  • 支持多種測試報告(Excel、資料庫、Jira)
  • 支持操作日誌生成GIF動態圖片
  • 支持純XML編寫完成自動化測試功能

環境搭建

JDK1.8
Maven
環境的最少依賴,也是本框架的一大特色。用戶無需自己下載測試驅動,框架會自動根據瀏覽器版本來選擇最合適的驅動檔案。

入門

添加maven依賴:
<dependency>
    <groupId>com.surenpi.autotest</groupId>
    <artifactId>autotest.web.framework</artifactId>
    <version>2.0.0-20170706</version>
</dependency>
測試代碼:
package org.suren.autotest.test;
 
import java.io.IOException;
 
import org.suren.autotest.test.page.HomePage;
import org.suren.autotest.web.framework.annotation.AutoApplication;
import org.suren.autotest.web.framework.settings.Phoenix;
import org.suren.autotest.web.framework.util.ThreadUtil;
 
/**
 * AutoTest框架的一個簡單示例</br>
 * @author suren
 * @date 2016年12月13日 下午7:52:06
 */
@AutoApplication
public class Test
{
 
    /**
    * 入口函式
    * @param args
    * @throws IOException
    */
    public static void main(String[] args) throws IOException
    {
        Phoenix phoenix = new Phoenix(Test.class);
        phoenix.init();
         
        //獲取Page類,然後獲取對應的元素,再進行操作
        HomePage page = phoenix.getPage(HomePage.class);
        page.open();
        page.getUserName().fillValue("demo");
        page.getPassword().fillValue("demo");
        page.getLoginBut().click();
         
        ThreadUtil.silentSleep(3000);
         
        phoenix.close(); //關閉框架
    }
 
}

數據源

在實際的項目中,很多數據是需要動態產生的。例如:項目名稱不能重複、郵件地址不能重複、人員身份證編碼的合法性校驗等。而我們不可能每次運行腳本前都要把數據從代碼中找出來,然後逐一修改。
數據源,就可以很好地解決這個問題。把數據中代碼邏輯中抽離出來,當程式要重新運行,修改數據時,只要修改或者動態生成這些數據即可。PhoenixAutotest框架,支持多種格式數據源:xml、yaml、excel等。

xml

示例代碼:
<?xml version="1.0" encoding="UTF-8"?>
<suren:dataSources xmlns:suren="http://datasource.surenpi.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://datasource.surenpi.com
http://surenpi.com/schema/datasource/autotest.web.framework.datasource.xsd "
pagePackage="demo.page">
<suren:dataSource pageClass="BaiduPage">
<suren:page>
<suren:field data="surenpi.com" name="keyword" />
</suren:page>
</suren:dataSource>
</suren:dataSources>

excel

示例代碼:
注意:sheet的名稱為Page類名(全稱),第一行為列名,從第二行開始就是Page類中的屬性名和數據了。
PhoenixAutotest
示例代碼

yaml

示例代碼:
org.suren.autotest.test.page.HomePageWithData:
  userName: demo
  password: demo

參數化

數據源的出現,是為了把容易發生變化的數據部分,從代碼邏輯中分離出來,降低腳本的維護成本。而對於數據源檔案,某些數據也是具有一定規則的。這時候,我們可以藉助框架的參數化功能來把數據寫活了,進一步降低自動化測試人員的工作量。

測試報告

PhoenixAutotest支持的測試報告類型有:Excel、資料庫(MySQL、SQLite等)、Jira。
框架支持把測試結果保存在上述的幾種格式中。測試結果包括:用例(模組)的正確性、錯誤信息、錯誤截圖、環境信息等。

熱門詞條

聯絡我們