1. 程式人生 > >phoenixframe自動化測試平臺的另一個例項

phoenixframe自動化測試平臺的另一個例項

package org.phoenix.cases.lianmeng;

import java.util.LinkedList;
import java.util.Random;

import org.phoenix.action.WebElementActionProxy;
import org.phoenix.enums.LocatorType;
import org.phoenix.model.CaseLogBean;
import org.phoenix.model.UnitLogBean;

/**
 * 用例示例:
 * 1、組裝執行流方式執行流程
 * 2、使用普通方式
 * 3、插入檢查點,根據檢查點結果選擇分支
 * 4、介面測試與外掛
 * 5、jmeter外掛
 * 6、瀏覽器定製
 * 7、定時任務
 * 8、技術選型
 * @author mengfeiyang
 *
 */
public class YeWuGuanLiCase extends WebElementActionProxy{
	private static String caseName = "報告檢視";
	public YeWuGuanLiCase() {
	}
	@Override
	public LinkedList run(CaseLogBean arg0) {
		init(caseName,arg0);

		testFlow("開始->使用firefox->真登陸->業務管理->檢視->關閉");
		
		//testFlow("開始->使用firefox->真登陸->業務管理->新增網址->修改->檢視->關閉");
		//testFlow("開始->使用firefox->真登陸->業務管理->修改->新增網址->檢視->關閉");
		//testFlow("開始->使用firefox->真登陸->業務管理->修改->檢視->關閉");
		//testFlow("開始->使用chrome->假登陸->註冊->關閉");
		
		//testCommon();
		
		return getUnitLog();
	}
	
	public void testCommon(){
		start();
		selectDriver("firefox");
		login(true);
		String errorMsg = webProxy.webElement("//*[@id=\"login_form\"]/p/em[2]", LocatorType.XPATH).getText();
		System.out.println(errorMsg);
		webProxy.sleep(1000);
		String r = webProxy.checkPoint().checkIsEqual("", errorMsg);
		if(!r.contains("null")){
			regist();
		} else {
			yewuguanli();
			addSite();
			modify();
			look();
			
		}
		close();
	}

	/**
	 * 開始
	 * 對環境初始化
	 */
	public void start(){
		webProxy.setChromeDriverExePath("C:\\Users\\mengfeiyang\\AppData\\Local\\Google\\Chrome\\Application\\chromedriver.exe");
		webProxy.setFirefoxExePath("D:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");
	}
	
	/**
	 * 選擇驅動
	 * @param driver
	 */
	public void selectDriver(String driver){
		String url = "http://lianmeng.360.cn/account";
		if(driver.equals("chrome"))webProxy.openNewWindowByChrome(url);
		else if(driver.equals("firefox"))webProxy.openNewWindowByFirefox(url);
		else if(driver.equals("ie"))webProxy.openNewWindowByIE(url);
		else webProxy.openNewWindowByPhantomJs(url);
	}
	
	/**
	 * 執行流選型
	 * @param flow
	 */
	public void testFlow(String flow){
		String[] flows = flow.split("->");
		for(String f : flows){
			switch(f){
			case "開始":start();break;
			case "使用chrome":selectDriver("chrome");break;
			case "使用firefox":selectDriver("firefox");break;
			case "使用ie":selectDriver("ie");break;
			case "使用phantomjs":selectDriver("phantomjs");break;
			case "真登陸":login(true);break;
			case "假登陸":login(false);break;
			case "新增網址":addSite();break;
			case "註冊":regist();break;
			case "修改":modify();break;
			case "檢視":look();break;
			case "業務管理":yewuguanli();break;
			case "關閉":close();break;
			default:;
			}
		}
	}
	/**
	 * 進入業務管理選單
	 */
	public void yewuguanli(){
		webProxy.webElement("業務管理", LocatorType.LINKTEXT).click();
		webProxy.sleep(1000);
	}
	
	/**
	 * 修改資訊
	 */
	public void modify(){
		tableOper(6,"www.susu.com",1);	
		String newValue = "test"+new Random().nextInt(1000);
		webProxy.webElement("website", LocatorType.NAME).setText(newValue);
		webProxy.webElement("//*[@id=\"edit_view\"]/form/dl[8]/dd/button", LocatorType.XPATH).click();
		
		webProxy.webElementLinkFinder(".panel-content",null).findElementByLinkText("網站列表").click(); 
		webProxy.sleep(2000);
	}
	
	/**
	 * 操作table
	 * @param cellSize
	 * @param expect
	 * @param oper
	 */
	private void tableOper(int cellSize,String expect,int oper){
		for(int tr=1;tr ll = yw.run(new CaseLogBean());
		for(UnitLogBean l : ll){
			System.out.println(l.getContent());
		}
	}
	
}

相關推薦

phoenixframe自動化測試平臺一個例項

package org.phoenix.cases.lianmeng; import java.util.LinkedList; import java.util.Random; import org.phoenix.action.WebElementActionProxy; import org.pho

phoenixframe自動化測試平臺web介面測試例項

package org.phoenix.cases.lianmeng; import java.util.LinkedList; import org.phoenix.action.WebElementActionProxy; import org.phoenix.mo

phoenixframe自動化測試平臺對Firefox和chrome支援的說明

一些網友反映使用phoenixframe自動化平臺作GUI測試和監控時,對Firefox和chrome瀏覽器的支援不是很好,這個原因主要是selenium官方的Firefox和chrome的驅動對最新版本的Firefox和chrome不支援。經過測試selenium對Fi

[持續交付實踐] 安全掃描自動化測試平臺實現

top jenkins 風險 security 直接 實施 job 模糊 app 前言 TesterHome有人專門加了我QQ問安全測試這個話題,所以這篇準備先聊聊持續交付中的安全測試。現在信息安全已經上升到了國家戰略的高度,特別是今年《中華人民共和國網絡安全法》頒布後,用

基於python自動化測試平臺與虛擬化技術結合的思考

主力 根據 測試 導致 文件掛載 配置 存在 自動化 作用 背景: 自動化測試行業內,個人覺得主力語言是python、java。這裏討論下基於python自動化框架設計與case開發,用過python的都知道它的好處,但是根據實際項目需要有了很多迎面而來的困難--主機遷

Jenkins+Ant+Jmeter自動化測試平臺

java開發 描述 軟件 htm jenkin .org 自動化 OS org 持續集成 持續集成是一種軟件開發實踐,即團隊開發成員經常集成他們的工作,通常每個成員每天至少集成一次,也就意味著每天可能會發生多次集成。每次集成都通過

Jmeter&Ant構建自動化測試平臺

網易 cmd命令 AMM 成功 bsp 分享圖片 報告 tle 文件復制 JMeter是一個軟件,使負載測試或業績為導向的業務(功能)測試不同的協議或技術。 Apache軟件基金會的Stefano Mazzocchi JMeter的最初的開發。他寫道:它主要對 Apach

Arya-專業web自動化測試平臺

學名:web自動化測試平臺 英文名:Arya 出生日期:2018年3月22日 現居住地:http://arya.iflytek.com ( 家教嚴,只能邀請愛測未來團隊的小夥伴來玩 ) 兄弟姐妹:自動化測試平臺Atp,移動測試平臺Mtp, AI測試資料平臺Oceanus, Moc

react+unittest+flask 介面自動化測試平臺

1 前言 介面自動化測試的工具很多,比如soapUI,postman,jmeter等等,但是這些通用的工具的可擴充套件性以及跟專案的契合度上並不是十分合適。 單有框架,還不足以讓介面自動化更簡化,自動化測試需要大量編碼維護工作,為了改善這些問題,解放重複的勞動力,所以將其做成平臺型的,可以讓不懂技術的人都

CentOS下搭建Teuthology Ceph自動化測試平臺(一)

Paddles及資料庫部署 安裝相關軟體 這李只列出一些必用的,每個人使用的環境不一樣,可能還會存在一些包沒有安裝的,搭建環境過程中,注意看輸出的日誌資訊,缺少什麼就安裝。 #yum install python-virtualenv postgresql po

怎樣用開源自動化測試平臺LuckyFrame編寫介面自動化測試用例

該自動化平臺分成兩部分,web端負責測試用例編寫及用例排程等.客戶端用於具體執行用例. 客戶端和伺服器端以及mysql資料庫的安裝和配置請參考官網 http://www.luckyframe.cn/book/yhsc/syschyy-24.html 一、客戶端的配置工作 1.客戶

自動化測試平臺中資料的初始化

在開發自動化測試平臺時,不可避免的會遇到將測試用例相關的資料儲存起來,不管是儲存到資料庫中還是儲存到檔案中(如excel、csv表格)。 常見的方式是將測試資料,尤其是每次自動化case跑完的執行結果存到資料庫中。這樣,不管是從從維護的成本還是便捷性考慮,都有優勢。 當然,根據測試資料的

關於自動化測試平臺搭建的初步構想

一.前言測試平臺可以理解為一個測試管理平臺,主要用WEB來進行實現,方便其他人統一工作,方便公司統一管理,可以提高公司效率。該平臺主要是為測試服務,但不僅為測試提供服務。一切的出發點都是為了提高工作效率,減少公司成本,為公司提供一個更加愉快的工作環境。二.為什麼需要測試平臺目前,很多小公司或者較大一點的公司,

基於python flask的自動化測試平臺(一)--實現第一個應用,hello,world

一個基本的應用需要的目錄如下 先為 app 包(檔案 app/__init__.py )建立一個初始化指令碼: from flask import Flask app = Flask(__name__) from app import views 然後建立第一個h

基於python flask的自動化測試平臺(一)--建立資料庫

說實話對於建立資料庫的原理我也不太懂,我只能把其他人的例子搬運過來然後自己進行修改成自己需要的樣子 一、建立配置檔案 aoto_test\config.py import os CSRF_ENABLED = True SECRET_KEY = 'ha-ha-ha'

DOClever 介面管理,資料生成,自動化測試平臺

DOClever是一款旨在解決介面管理,資料生成,自動化測試的一體化介面平臺。在我們平時的開發中,經常會面臨前後端介面互動的問題,以往的解決方案多是通過 word 文件來記錄下介面的變更,然後傳送給團隊成員,這種方式不僅效率地下,而且很容易出錯,因此,DOClever 就是為了解決這個痛點的一款工

淘寶效能自動化測試平臺搭建過程

導讀  ID:TOP100case 淘寶網的效能測試自動化平臺具備了分散式、高併發、低成本、可擴充套件等特性的效能測試平臺工具,它包括效能專案管理、環境管理、指令碼管理、場景管理、任務管理、監控管理、結果管理等模組,以及前端效能測試模組、效能測試報告模組、效能缺陷模組、和效能基線模組等,後臺還有完善

小白搭建自動化測試平臺

1.準備 系統:win7專業版/winsever2008 安裝包: jdk:jdk-8u91-windows-x64.exe(這裡jmeter3.2最低需要jdk8支援) Jenkins:jenkins-2.60.3.zip Ant:apache-ant-1.10.1.zi

自動化測試平臺搭建(1)-- Jenkins登場

測試程式碼寫好後,嘗試通過Jenkins搭建自動化測試平臺 Jenkins安裝 如圖,選擇對應的安裝包下載 解壓後點擊安裝,根據需要自定義安裝路徑,其他預設 安裝完成後開啟localhost:8080訪問Jenkins首頁,可

Jmeter+Ant+Jenkins構建介面自動化測試平臺(Windows)

一. 環境準備安裝Jmeter,配置相關環境;安裝Ant:          新建ANT_HOME:D:\Testing\02-TestTools\Ant\apache-ant-1.10.1在Path中新增:%ANT_HOME%\bin    配置完成後,開啟cmd視窗,輸入