1. 程式人生 > >selenium2java微信支付寶購買功能測試用例

selenium2java微信支付寶購買功能測試用例

本人在學習使用selenium2java的過程中,遇到了測試支付寶和微信購買課程的用例,寫起來略微複雜了一些,因為考慮到重複測試,得先修改使用者訂單狀態,還得考慮使用者已經買過、下單未付款、第一次購買等情況,中間用到了if-else if -else的判斷語法,還得切換視窗。下面分享出來,供大家參考。

//購買班課
	public static void BuyCourseWithoutPay(WebDriver driver) throws InterruptedException, ClassNotFoundException, SQLException {
		MySql.alterUserOrdersStatus();//修改使用者訂單狀態
		clickCourseMore(driver);
		selectGradeAndSubject(driver, "初一", "數學");
		findElementByXpathAndClick(driver, "html/body/div[2]/div[3]/div[1]/ul/li[1]");//選擇課程
		clickApply(driver);
		/*如果已經購買過尚未支付,會跳轉到訂單頁面,點選支付,選擇支付寶和微信,驗證跳轉頁面title和彈框
		 * 注意切換視窗,支付寶會出現先視窗
		 * 如果沒有購買過或者已經過期訂單,會跳轉到提交訂單頁面
		 */
		if (exists(driver, By.id("commitOrder"))) {//如果發現立即支付按鈕,則去支付頁面
			clickCommitOrder(driver);//點選訂單頁面立即支付
			findElementByClassNameAndClick(driver, "alipay");//選擇支付寶支付
			String homehandle = driver.getWindowHandle();//獲取頁面handle
			findElementByIdAndClick(driver, "payment_btn");//點選立即支付
			Set<String> handles = driver.getWindowHandles();//獲取當前handles
			for(String handle : handles){
				if (handle.equals(homehandle) == false) {
					driver.switchTo().window(handle);//切換到支付寶頁面
					assertEquals("跳轉支付寶失敗!", "支付寶 - 網上支付 安全快速!", driver.getTitle());
					driver.close();//關閉支付寶視窗
					}
				}
			for(String handle : handles){
				if (handle.equals(homehandle)) {
					driver.switchTo().window(handle);//切換到原來的視窗
					findElementByClassNameAndClick(driver, "layui-layer-setwin");//關閉支付支付彈框
					sleep(0);
					findElementByClassNameAndClick(driver, "wxpay");//點選微信支付
					findElementByIdAndClick(driver, "payment_btn");//點選立即支付
					assertEquals("微信支付彈框二維碼失敗!", "微信掃描二維碼以完成支付", getTextByXpath(driver, ".//*[@id='LAY_layuipro1']/div/p"));
					}
				}
			}else if (exists(driver, By.className("address"))) {//如果發現有收貨地址,先刪除
				moveToElementByClassName(driver, "address");//滑鼠移動到收貨地址上
				clickDeleteAdress(driver);
				sleep(0);
				clickSure(driver);
				sleep(0);
				}else {//新增收貨地址
					AddAddress(driver);
					sleep(0);
					clickCommitOrder(driver);
					findElementByClassNameAndClick(driver, "alipay");//選擇支付寶支付
					String homehandle = driver.getWindowHandle();
					findElementByIdAndClick(driver, "payment_btn");//點選立即支付						
					Set<String> handles = driver.getWindowHandles();
					for(String handle : handles){
						if (handle.equals(homehandle) == false) {
							driver.switchTo().window(handle);//切換到支付寶頁面
							assertEquals("跳轉支付寶失敗!", "支付寶 - 網上支付 安全快速!", driver.getTitle());
							driver.close();
							}
						if (handle.equals(handle)) {
							driver.switchTo().window(handle);
							findElementByClassNameAndClick(driver, "layui-layer-setwin");//關閉支付支付彈框
							findElementByClassNameAndClick(driver, "wxpay");//點選微信支付
							findElementByIdAndClick(driver, "payment_btn");//點選立即支付
							assertEquals("微信支付彈框二維碼失敗!", "微信掃描二維碼以完成支付", getTextByXpath(driver, ".//*[@id='LAY_layuipro1']/div/p"));
							}
						}
					}
	}
其中一些自定義方法如下:
	//選擇年級和科目
	public static void selectGradeAndSubject(WebDriver driver, String grade, String subject) {
		findElementByTextAndClick(driver, grade);
		findElementByTextAndClick(driver, subject);
	}

	//修改使用者購買訂單
	public static void alterUserOrdersStatus() throws ClassNotFoundException, SQLException {
		Class.forName(driver);
		Connection connection = DriverManager.getConnection(url, user, password);
		if (!connection.isClosed()) {
			Statement statement = connection.createStatement();
			String sql = "UPDATE orders set order_status = 5 WHERE user_id = "+ user_id + " and order_status = 2";
			statement.executeUpdate(sql);
			output("修改使用者購買訂單成功!");
			}
		connection.close();
		}


	//滑鼠懸停
	public static void moveToElementById(WebDriver driver, String id) {
		Actions actions = new Actions(driver);
		actions.moveToElement(findElementByid(driver, id));
	}
	public static void moveToElementByClassName(WebDriver driver, String name) {
		Actions actions = new Actions(driver);
		actions.moveToElement(findElementByClassName(driver, name));
	}
	


相關推薦

selenium2java支付購買功能試用

本人在學習使用selenium2java的過程中,遇到了測試支付寶和微信購買課程的用例,寫起來略微複雜了一些,因為考慮到重複測試,得先修改使用者訂單狀態,還得考慮使用者已經買過、下單未付款、第一次購買等情況,中間用到了if-else if -else的判斷語法,還得切換視窗

Android高仿/支付 掃一掃(弱光檢測掃一掃自動放大功能

if (rawResult != null) { // Don't log the barcode contents for security. long end = System.currentTimeMillis(); Log.d(T

《如何在WordPress上新增/支付打賞功能

①微信公眾號(文藝小殿分殿):微信ID(sixiaoxiaoyou) ②QQ群|微信群(綜合小殿): QQ群名:Share,群號:147022251 文藝青年加微信:【jayysly】(備註【Share】),群主稽核後進Share微信群

支付支付代理加盟可靠嗎?公司扶持給力輕松加盟

支付代理加盟 移動支付代理加盟 加盟服務商如今互聯網時代,人手一部手機,現金支付方式日漸冷落,取而代之的是手機刷碼支付,移動支付潮流全面興起, 采寶支付加盟可靠嗎?采寶支付在這種背景下全面“侵”入市場,很快獲得矚目,不管是消費者、商家,還是忙著創事業的投資者,都對這個品牌給予大大肯定。 采

聚合支付服務商 +支付一站式服務平臺

聚合支付 二維碼支付 移動支付代理 支付寶支付代理服務商 杭州合言信息科技有限公司-發展至今,在支付中,支持各種支付工具,一站式支付服務商家(包括:支付寶、微信支付、中國銀聯)等支付服務,在各大第三方支付平臺僵持不下之際,采寶聚合支付便開始活躍在移動支付市場上。

支付下線商家收款 支付支付商家

支付寶下線商家收款 收款二維碼 支付寶下線商家收款 簡單來說,它可以用較簡單的方法,幫助中小商家們接入支付寶,快速掃碼,快速支付!與此前打印個人收款二維碼不同,官方收款碼將使商家轉變為簽約商戶,享受向銀行卡提取余額免手續費的優惠。 目前公司發展迅速,簽約商戶已超過10000家。 商

支付支付創業好項目 采支付誠招合夥人

微信支付代理 支付寶支付代理商 支付寶省級代理 微信支付寶支付創業好項目?移動支付巨大的市場空間有無僅有的創富商機:移動支付在線下支付的春天即將到來”移動支付市場空間支付寶、微信希望用5年時間推動中國率先進入無現金社會。到2020年第三方移動支付市場的交易規模有望突破1000萬億元、如此巨大的支付市場,

支付二維碼支付代理加盟 采二維碼掃碼POS

微信支付代理 支付寶代理商 智能POS代理 現如今微信支付寶二維碼支付代理以及進入了支付潮流。如:銀幣、再到紙幣,演變到“錢”變得越來越輕薄。在現這個二維碼掃碼POS市場中,互聯網技術的支撐下,刷手機乘公交、刷支付寶買菜購物、繳水電費……日常生活中使用“現金”的場景,逐漸被手機各種支付方式取代,“無現金

誰知道?正規的支付代理加盟平臺,聯系我們

正規微信支付 正規支付寶支付 采寶支付代理 采寶支付加盟 移動支付下線掃碼支付迅速崛起,搶占了大片的空白市場,微信支付,支付寶支付成為支付的主流模式;作為兩大支付模塊的支付寶和微信,其支付寶的優勢在於支付的實用性;而微信支付則在社交、用戶方面更有優勢。對商戶而言能擁有這兩大支付方式,這就意味著擁有大用戶群

三季度移動支付達49.26萬億元,銀行慘遭支付碾壓

移動掃碼支付 微信支付代理 支付寶支付三季度移動支付達49.26萬億元,銀行慘遭微信支付寶碾壓

選擇支付代理加盟 加盟費多少?

微信支付代理 采寶支付加盟 微信支付寶代理加盟好處?說來還真不少,也許這就是為什麽有這麽多的創業者紛紛奔向微信支付寶代理加盟大軍的原因吧! 微信支付寶代理加盟好處—我們先來針對於消費者說說使用移動支付優勢: 首先出門可以不用帶大量現金,通過手機可以直接移

神了!這個接口用上,普通商家的支付QQ百度京東都可以掃了

支付接口 微信支付接口 支付寶接口 杭州采寶支付 隨著移動支付的不斷發展,微信支付和支付寶支付已經占領了中國大部分市場,我們在各大商鋪和賣場都能看到微信掃碼支付、支付寶掃碼支付,對於顧客來講非常方便,不用帶現金,對於商家來講,也是十分便利,省去了找零的麻煩,但商家在接入支付寶和微信支付時,需要分別提交申請

支付

sig private ram var web char appid pub public 微信支付 https://github.com/842549829/Fund/blob/master/Weixin/CreateRequest.cs /// <sum

支付提現0費率 招代理商

服務 有意 下午 沒有 合作夥伴 推廣 上傳 商戶 接口 微信線下支付代理商推廣微信掃碼支付圍餐商戶0費率持續年底微信線下支付代理商推廣微信掃碼支付圍餐商戶0費率持續年底今天,2017年5月8日騰訊在微信支付合作夥伴大會。微信官方低調的宣布了一條爆炸式的新聞:從即日開始,微

小程序騙局套路深,支付發布提示別上當|極限工坊淘小咖

ces 消息 平臺 能夠 什麽 com 要去 商家 功能 前段時間隨著百度上線了智能小程序,支付寶也開放了小程序首頁入口,微信小程序也開放了更多入口。隨著BAT同時進入小程序賽道,也徹底攪熱了小程序市場。 許多商家與自媒體創作者紛紛推出了自家的小程序,希望借助這一新產品能

支付個人免簽約即時到帳接口開發附demo

ima .com key bubuko ref 程序 接口 ech info 支付界面: 掃碼支付界面: 付成功後可以跳轉到你程序指定的地址! demo: http://likeyunba.com/WeChat-Pay/微信支付寶個人免簽約即時到帳接口開發附demo

一張圖瞭解支付支付流程

轉自:https://www.cnblogs.com/yang-shuai/p/6516173.html   1、微信支付 以下是微信支付互動時序圖,統一下單API、支付結果通知API和查詢訂單API等都涉及簽名過程, 呼叫都必須在商戶伺服器端完成。如圖1所示。

關於tp5使用支付app支付、掃碼支付

<?php /** * Created by PhpStorm. * User: ljy * Date: 17/10/14 * Time: 下午3:33 */ namespace app\api\controller; use Pingpp\Pingpp; use Pingpp\Charge

剛想起QQ支付三合一收款碼

分析 能不能把QQ微信支付寶三合一,只需要掃一個收款碼就行呢? 這裡涉及到一個知識點,則是User-Agent,大廠的webview都會攜帶自家的UA資訊,比如說: QQ:MQQBrowser/6.2 TBS/043221 Safari/537.36 QQ/7.0.0

利用Xposed hook完成 支付 QQ個人免籤支付系統

微信,支付寶,QQ三端個人支付二維碼生成與監控!有PHP,JAVA介面回撥,個人收款好助手! 實現收款即時到個人微信或者支付寶賬戶!方便安全。 支付寶、微信個人收款二維碼實時生成,通過app實現,app對外提供web介面,訪問web介面傳遞金額、備註、型別等引數,app收