免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開(kāi)通VIP
PO模式(Page Object Model)

使用BDD框架后,如何在Framework層架構(gòu)出健壯、穩(wěn)定、高擴(kuò)展的架構(gòu)是項(xiàng)目成功的關(guān)鍵。這個(gè)時(shí)候再使用線性腳本執(zhí)行的方式明顯是不適用的。目前比較普遍的做法是使用PO模式(Page Object Model)。

下面就簡(jiǎn)單介紹一下PO模式:

Page Object Model的核心是分離測(cè)試對(duì)象和測(cè)試數(shù)據(jù)。

首先我們看一段代碼

PageObject:Object類,作用初始化webdriver并對(duì)要用的webdriver的接口進(jìn)行二次封裝。

  1. public class WebDriverObject
  2. {
  3. private static IWebDriver _CurrentDriver;
  4.  //初始化webdriver,靜態(tài)變量保證唯一性
  5. public static IWebDriver CurrentDriver
  6. {
  7. get
  8. {
  9. if (_CurrentDriver == null || _CurrentDriver.WindowHandles.Count == 0)
  10. {
  11. InternetExplorerOptions opt = new InternetExplorerOptions();
  12. opt.IgnoreZoomLevel = true;
  13. opt.IntroduceInstabilityByIgnoringProtectedModeSettings = true;
  14. opt.EnablePersistentHover = false;
  15. _CurrentDriver = new InternetExplorerDriver(opt);
  16. }
  17. if (_OpenedWindowHandles == null)
  18. {
  19. _OpenedWindowHandles = new List<string>();
  20. }
  21. else
  22. {
  23. _OpenedWindowHandles.Clear();
  24. }
  25. OpenedWindowHandles.Add(_CurrentDriver.CurrentWindowHandle);
  26. return _CurrentDriver;
  27. }
  28. }
  29. //封裝運(yùn)行JS的方法
  30. public static object ExecuteJavaScript(string script)
  31. {
  32. return null;
  33. }
  34. //封裝運(yùn)行JQuery的方法
  35. public static object ExecuteJavaScript(string script, params object[] args)
  36. {
  37. return null;
  38. }
  39. //封裝click,sentText等,不同Page公用的方法
  40.  }

Page類中,根據(jù)Oject類中的提供的二次封裝的接口,實(shí)現(xiàn)當(dāng)前頁(yè)面要實(shí)現(xiàn)的方法,如Login方法。

  1. public class CPPage
  2. {
  3. const string LogonPageTitle = ''; //portal Title
  4. public bool Login(Dictionary<string,string>info = null)
  5. {
  6. WebDriverHelper.CurrentDriver.Navigate().GoToUrl('192.168.0.1/portal');
  7. //調(diào)用Object類中相應(yīng)的方法實(shí)現(xiàn)對(duì)應(yīng)需求
  8. ...
  9. }
  10. }

PO模式就是Page + Object。不同種類Page采用調(diào)用Object類的中二次封裝的webbriver的方法根據(jù)各自Page不同的需求封裝自己的方法。再通過(guò)Page類實(shí)例對(duì)對(duì)應(yīng)Page進(jìn)行相關(guān)操作。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
JAVA版微信支付V3-完全版
使用Gson將Object轉(zhuǎn)String出現(xiàn)\u003d 的原因「建議收藏」
C# 中利用反射機(jī)制拷貝類的字段和屬性(拷貝一個(gè)類對(duì)象的所有東西付給另一個(gè)類對(duì)象,而不是付給引用地址)
驅(qū)動(dòng)自定義回調(diào)例程
看我發(fā)現(xiàn)了什么好東西? Java Optional,絕對(duì)值得一學(xué) | 原力計(jì)劃
Java服務(wù)器端List對(duì)象轉(zhuǎn)換為JSON對(duì)象并返回客戶端實(shí)例
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服