簡體   English   中英

Java:強制方法的客戶端在返回之前執行代碼

[英]Java: Force Client of Method to Execute Code Before Returning

我有一堆WebDriver配置文件(我們叫它們x,y和z),我需要選擇一個隨機配置文件來執行某些操作。 我們將動作稱為A,B和C。

在我的課堂WebDriverManager我定義了三種方法: doA() doB()doC() 每種方法都會選擇一個隨機配置文件,其中a)當前未使用, b)有資格執行給定操作。

如果client調用doA(), doB() or doC() ,則他們將獲得一個有資格執行操作A,B或C的WebDriver配置文件doA(), doB() or doC()還將設置其狀態。將該配置文件傳遞給UNAVAILABLE(通過props文件),以便在該配置文件再次可用之前,不會為其他操作(或從不同線程調用的同一操作)返回該配置文件。

我的問題是,只有在客戶完成將所述配置文件用於其預期目的時,配置文件才可用。

由於方法doA()等將通過許多客戶端來訪問,我怎么能強迫clientdoA() doB()doC()對的狀態設置WebDriver輪廓,它返回之前? 如果將來某個時候我忘記將給定配置文件的狀態更改為“可用”(在客戶端中),它將永遠保持“不可用”狀態,這會引起很多問題。

那么,如何保證返回之前調用doB() doA()doB()doC()任何方法都將配置文件狀態設置為AVAILABLE?

聚苯乙烯

是我在SO上找到的最接近的問題,但是我認為這不能解決我的問題,因為我無法控制實際的WebDriver類,我只是希望每個上述方法的客戶端在返回之前執行某種操作。

AutoClosable不會起作用,因為我沒有嘗試關閉類的特定實例(我不控制該類),我希望某個方法的客戶端在完成之前執行特定的方法或代碼。

從聽起來像已定義的方式來看, WebDriverManager的當前實例應跟蹤當前測試使用的配置文件。 如果還沒有,則必須編寫此代碼。 在測試清除期間,調用WebDriverManager.SetProfileAvailable()類的東西,將使用的配置文件設置回AVAILABLE。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM