簡體   English   中英

如何使用Sikuli終止應用程序

[英]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.

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