Koşul komutları
if If
Bir koşul doğru olduğunda içindeki komutları çalıştırır.
Blok komutu: if … endif; bölümleri: elseif, else.
Türler (--type, isteğe bağlı)
--type:expression
Serbest biçimli bir koşul ifadesi.
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--condition zorunlu | koşul | ör. $count$ > 5 and $status$ = "ok" |
--type:string
Metin karşılaştırır.
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--left zorunlu | herhangi bir değer | Sınanacak metin veya $variable$ | |
--operator zorunlu | şunlardan biri: equals, notequals, contains, notcontains, startswith, endswith, matches, isempty, isnotempty | ||
--right | herhangi bir değer | Karşılaştırılacak değer (isempty/isnotempty tarafından kullanılmaz; matches için regex) | |
--ignorecase | true / false | false |
--type:number
Sayı karşılaştırır.
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--left zorunlu | sayı | Test edilecek sayı veya $variable$ | |
--operator zorunlu | şunlardan biri: =, !=, >, <, >=, <= | ||
--right zorunlu | sayı | Karşılaştırılacak sayı veya $variable$ |
--type:boolean
Bir true/false değerini denetler.
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--value zorunlu | herhangi bir değer | Kontrol edilecek doğru/yanlış $variable$, ör. $found$ | |
--is | şunlardan biri: true, false | true | Değer bu olduğunda koşul sağlanır |
--type:fileexists
Dosya (veya joker karaktere uyan bir dosya) varsa doğrudur.
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--path zorunlu | metin | Dosya yolu; joker karakterlere izin verilir, ör. C:\Reports\*.xlsx (klasördeki uyan herhangi bir dosya) Ajan makinesindeki bir dosya. |
--type:filenotexists
Uyan hiçbir dosya yoksa doğrudur.
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--path zorunlu | metin | Dosya yolu; joker karakterlere izin verilir, ör. C:\Reports\*.xlsx (klasördeki uyan herhangi bir dosya) Ajan makinesindeki bir dosya. |
--type:folderexists
Klasör (veya uyan bir klasör) varsa doğrudur.
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--path zorunlu | metin | Klasör yolu; joker karakterlere izin verilir, ör. C:\Projects\2026* (uyan herhangi bir alt klasör) Ajan makinesindeki bir klasör. |
--type:foldernotexists
Uyan hiçbir klasör yoksa doğrudur.
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--path zorunlu | metin | Klasör yolu; joker karakterlere izin verilir, ör. C:\Projects\2026* (uyan herhangi bir alt klasör) Ajan makinesindeki bir klasör. |
--type:windowexists
Pencere açıksa doğrudur (isteğe bağlı olarak --timeout saniyeye kadar bekler).
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--window zorunlu | $değişken$ | window --action:open/attach ile alınan pencere veya bir set --type:window deseni | |
--timeout | sayı | 0 | Pencere için beklenecek saniye |
--type:windownotexists
Pencere açık değilse doğrudur (isteğe bağlı olarak kapanması için --timeout saniyeye kadar bekler).
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--window zorunlu | $değişken$ | window --action:open/attach ile alınan pencere veya bir set --type:window deseni | |
--timeout | sayı | 0 | Pencerenin kapanması için beklenecek saniye |
--type:elementexists
Web elementi sayfada görünüyorsa doğrudur (isteğe bağlı olarak görünmesi için --timeout saniyeye kadar bekler). Bulunamayan bir element yalnızca yanlış sayılır.
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--browser | $değişken$ | browser --action:open --output ile alınan tarayıcı (varsayılan: en son kullanılan sayfa) | |
--dompath zorunlu | metin | XPath veya CSS seçici | |
--frame | metin | Elementin bulunduğu iframe'in seçicisi, ör. #payment; iç içe çerçeveler outer >> inner şeklinde. Boşsa sayfanın kendisi | |
--properties | metin | Yakalanan elementin nesne özellikleri. İşaretli her özellik eşleşmelidir; seçici bunlardan oluşturulur | |
--anchor | metin | Yakında bulunan ve değişmeyen bir elementin (etiket, başlık) seçicisi; --dompath için birden çok eşleşme varsa ona en yakın olan kullanılır | |
--anchorposition | şunlardan biri: near, right, left, below, above | near | Elementin çapaya göre konumu: o taraftaki en yakın eşleşme kullanılır |
--fallback | metin | İlki hiçbir şey bulamadığında denenecek diğer seçiciler, " || " ile ayrılır. Özellikler tablosundaki alternatifler bunlardan sonra otomatik olarak denenir | |
--timeout | sayı | 0 | Karar vermeden önce elementin görünmesi için beklenecek saniye (0: hemen bir kez kontrol et) |
--type:elementnotexists
Web elementi gizliyse veya sayfada yoksa doğrudur (isteğe bağlı olarak kaybolması için --timeout saniyeye kadar bekler).
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--browser | $değişken$ | browser --action:open --output ile alınan tarayıcı (varsayılan: en son kullanılan sayfa) | |
--dompath zorunlu | metin | XPath veya CSS seçici | |
--frame | metin | Elementin bulunduğu iframe'in seçicisi, ör. #payment; iç içe çerçeveler outer >> inner şeklinde. Boşsa sayfanın kendisi | |
--properties | metin | Yakalanan elementin nesne özellikleri. İşaretli her özellik eşleşmelidir; seçici bunlardan oluşturulur | |
--anchor | metin | Yakında bulunan ve değişmeyen bir elementin (etiket, başlık) seçicisi; --dompath için birden çok eşleşme varsa ona en yakın olan kullanılır | |
--anchorposition | şunlardan biri: near, right, left, below, above | near | Elementin çapaya göre konumu: o taraftaki en yakın eşleşme kullanılır |
--fallback | metin | İlki hiçbir şey bulamadığında denenecek diğer seçiciler, " || " ile ayrılır. Özellikler tablosundaki alternatifler bunlardan sonra otomatik olarak denenir | |
--timeout | sayı | 0 | Karar vermeden önce elementin kaybolması için beklenecek saniye (0: hemen bir kez kontrol et) |
--type:desktopelementexists
Masaüstü elementi pencerede varsa doğrudur (isteğe bağlı olarak görünmesi için --timeout saniyeye kadar bekler). Bulunamayan bir element veya pencere yalnızca yanlış sayılır.
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--window zorunlu | $değişken$ | window --action:open/attach ile alınan pencere veya bir set --type:window deseni | |
--by zorunlu | şunlardan biri: automationid, name, classname, xpath, index | ||
--target zorunlu | metin | Tanımlayıcı değeri | |
--properties | metin | Yakalanan elementin nesne özellikleri. İşaretli her özellik eşleşmelidir; seçici bunlardan oluşturulur | |
--anchor | metin | Yakında bulunan ve değişmeyen bir element, ör. name=Amount, automationid=lblTotal, classname=Static veya bir XPath; --target için birden çok eşleşme varsa ona en yakın olan kullanılır | |
--anchorposition | şunlardan biri: near, right, left, below, above | near | Elementin çapaya göre konumu: o taraftaki en yakın eşleşme kullanılır |
--fallback | metin | İlki hiçbir şey bulamadığında denenecek diğer seçiciler, " || " ile ayrılır. Özellikler tablosundaki alternatifler bunlardan sonra otomatik olarak denenir | |
--timeout | sayı | 0 | Karar vermeden önce elementin görünmesi için beklenecek saniye (0: hemen bir kez kontrol et) |
--type:desktopelementnotexists
Masaüstü elementi pencerede yoksa doğrudur (isteğe bağlı olarak kaybolması için --timeout saniyeye kadar bekler).
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--window zorunlu | $değişken$ | window --action:open/attach ile alınan pencere veya bir set --type:window deseni | |
--by zorunlu | şunlardan biri: automationid, name, classname, xpath, index | ||
--target zorunlu | metin | Tanımlayıcı değeri | |
--properties | metin | Yakalanan elementin nesne özellikleri. İşaretli her özellik eşleşmelidir; seçici bunlardan oluşturulur | |
--anchor | metin | Yakında bulunan ve değişmeyen bir element, ör. name=Amount, automationid=lblTotal, classname=Static veya bir XPath; --target için birden çok eşleşme varsa ona en yakın olan kullanılır | |
--anchorposition | şunlardan biri: near, right, left, below, above | near | Elementin çapaya göre konumu: o taraftaki en yakın eşleşme kullanılır |
--fallback | metin | İlki hiçbir şey bulamadığında denenecek diğer seçiciler, " || " ile ayrılır. Özellikler tablosundaki alternatifler bunlardan sonra otomatik olarak denenir | |
--timeout | sayı | 0 | Karar vermeden önce elementin kaybolması için beklenecek saniye (0: hemen bir kez kontrol et) |
--type:imageexists
Resim ekranda veya pencerede varsa doğrudur (isteğe bağlı olarak görünmesi için --timeout saniyeye kadar bekler).
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--image zorunlu | metin | Aranacak resim: ekranda işaretleyin (Capture) veya ajan makinesindeki bir .png/.jpg/.bmp dosyası | |
--window | $değişken$ | Yalnızca bu pencerede ara (önce öne getirilir); boşsa tüm ekran | |
--similarity | sayı | 90 | Bir noktanın yüzde olarak ne kadar benzer olması gerektiği (50–100). Düşük değer biraz değişmiş resimleri de bulur (renkler, yumuşatma); yüksek değer benzerlerini önler |
--timeout | sayı | 0 | Karar vermeden önce resmin görünmesi için beklenecek saniye (0: hemen bir kez kontrol et) |
--type:imagenotexists
Resim ekranda yoksa doğrudur (isteğe bağlı olarak kaybolması için --timeout saniyeye kadar bekler).
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--image zorunlu | metin | Aranacak resim: ekranda işaretleyin (Capture) veya ajan makinesindeki bir .png/.jpg/.bmp dosyası | |
--window | $değişken$ | Yalnızca bu pencerede ara (önce öne getirilir); boşsa tüm ekran | |
--similarity | sayı | 90 | Bir noktanın yüzde olarak ne kadar benzer olması gerektiği (50–100). Düşük değer biraz değişmiş resimleri de bulur (renkler, yumuşatma); yüksek değer benzerlerini önler |
--timeout | sayı | 0 | Karar vermeden önce resmin kaybolması için beklenecek saniye (0: hemen bir kez kontrol et) |
--type olmadan (İfade)
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--condition zorunlu | koşul | ör. $count$ > 5 and $status$ = "ok" |
Bölüm elseif
Parametre yok.
Bölüm else
Parametre yok.
Örnekler
if --condition:$status$="active"
log --message:"Status is active"
elseif --condition:$status$="pending"
log --message:"Status is pending"
else
log --message:"Unknown status"
endif
if --type:elementexists --dompath:"//button[@id='save']" --timeout:5
capture --action:click --dompath:"//button[@id='save']"
elseif --type:desktopelementexists --window:$erp$ --by:name --target:Save
desktop --action:click --window:$erp$ --by:name --target:Save
elseif --type:imageexists --image:"C:\Pictures\save.png" --window:$citrix$
image --action:click --image:"C:\Pictures\save.png" --window:$citrix$
endif
if --type:elementnotexists --browser:$web$ --dompath:".spinner" --timeout:30
log --message:"The page is ready"
endif
switch Switch
Değeri switch değerine eşit olan ilk case bölümünün komutlarını çalıştırır (metin olarak karşılaştırılır; 1 ve 1.0 gibi sayılar eşittir); hiçbir case eşleşmezse default bölümünü çalıştırır.
Blok komutu: switch … endswitch; bölümleri: case, default.
Parametreler
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--value zorunlu | herhangi bir değer | Case değerlerinin karşılaştırıldığı değer, ör. $status$ | |
--ignorecase | true / false | false | true: Approved, APPROVED ve approved aynı sayılır |
Bölüm case
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--value zorunlu | herhangi bir değer | Switch değeri buna eşit olduğunda bu bölümü çalıştırır, ör. Approved veya 1 |
Bölüm default
Parametre yok.
Örnekler
switch --value:$status$ --ignorecase:true
case --value:Approved
log --message:"Book the invoice"
case --value:Rejected
mail --to:$requester$ --subject:"Invoice rejected" --body:$reason$
case --value:1
log --message:"Priority one"
default
log --message:"Unknown status $status$" --level:warning
endswitch