[英]How to terminate Application with using Sikuli
如何使用Sikuli框架終止應用程序? 現在我正在使用這樣的結構關閉它:
App app = new App(pathToApplication);
amm.open();
//some actions
app.close();
但它不起作用,應用程序沒有關閉。 我需要一些解決方案來關閉@AfterTest方法中的applocation以關閉它,即使測試失敗也是如此。
我建議您使用app.closeByKey()
,它會嘗試將應用程序放在前面,然后使用系統特定的組合鍵(Alt-F4,cmd-Q,ctrl-Q)來優雅地關閉應用程序,這可能並不總是使用普通的app.close()完成。
在此處閱讀文檔https://sikulix-2014.readthedocs.io/en/latest/appclass.html#App
它可以從Sikulix 1.1.0版本獲得。下面是它的maven依賴
<!-- https://mvnrepository.com/artifact/com.sikulix/sikulixapi -->
<dependency>
<groupId>com.sikulix</groupId>
<artifactId>sikulixapi</artifactId>
<version>1.1.4-SNAPSHOT</version>
</dependency>
以下是關閉應用程序的另一種方法,直到獲得1.1.4的穩定版本:
app.focus();
type(Key.F4, Key.ALT); ----> For WINDOWS
type("q", Key.CMD); ----> For MAC
type("q", Key.CTRL);-----> For LINUX
如果要關閉所有打開的應用,請使用以下代碼:
for (App app : App.getApps()) {
app.closeByKey();
}
您可以將整個應用程序包裝在try ... catch語句中。 只需將代碼放在主腳本中:
try {
// Your code goes here
app.close();
}
catch (Exception e) {
app.close();
exit();
}
在任何異常錯誤上,您的腳本將打印消息並正常退出並關閉測試的應用程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.