Cloud Flow mu Desktop Flow mu? 5 Soruda Karar
Cloud Flow mu Desktop Flow mu? API'si olmayan eski bir ERP söz konusu olduğunda Power Automate'te böyle karar verilir.
Power Automate Desktop'ta seçicilerin neden bozulduğu, bunların nasıl sağlam şekilde oluşturulacağı ve sabit duraklamalar yerine Wait eylemleriyle gerçek bekleme sürelerinin nasıl kullanılacağı.
Power Automate Desktop (PAD) ile oluşturulmuş bir UI otomasyonu, üretimde haftalarca çalıştıktan sonra aniden “Failed to get UI element” hatasıyla duruyorsa, bu neredeyse hiçbir zaman tesadüf değildir. Genellikle arka planda seçicinin artık bulamadığı bir şey değişmiştir: bir uygulama güncellemesi, farklı bir ekran çözünürlüğü, açılışta eskisinden bir saniye daha uzun süren bir pencere. Tam olarak bu iki noktada, sağlam seçiciler ve düzgün bekleme süreleri, bir akışın aylarca gözetimsiz modda kararlı çalışıp çalışmayacağını ya da birkaç günde bir elle onarılması gerekip gerekmeyeceğini belirler.
Bu rehber, PAD'de seçicilerin nasıl oluşturulduğunu, hangi operatörlerin ve değişkenlerin onları dinamik hale getirdiğini ve doğru Wait eylemleriyle sabit duraklamaların nasıl gerçek senkronizasyonla değiştirileceğini gösterir. Sonunda, mevcut akışları en sık görülen kesinti nedenlerine karşı hedefli şekilde güçlendirmenizi sağlayacak bir kontrol listesi bulacaksınız.
Power Automate Desktop'taki bir seçici, bir UI öğesinin bir uygulama ya da web sayfası hiyerarşisinde tam olarak nerede bulunduğunu tanımlar. Microsoft'a göre seçiciler, PAD'in ad, sınıf veya otomasyon kimliği gibi özellikleri ve öğenin UI yapısındaki konumunu yakalamasıyla oluşur. Seçicileri değişikliklere karşı hassas kılan da tam olarak bu yakalama işlemidir. Microsoft, gözetimsiz masaüstü akışlarında sorun giderme kılavuzunda daha önce çalışan bir seçiciyi geçersiz kılabilecek şu faktörleri de sayar:
Bir seçicinin tipik olarak hangi noktalarda bozulduğunu bilen kişi, ilk arızadan sonra tepki vermek yerine seçiciyi baştan bu dalgalanmalara dayanacak şekilde oluşturabilir.
Bir seçici, > karakteriyle birbirine bağlanan birden çok düzeyden oluşur. Her düzey, bir öğeyi element[Attribut1="Wert1"][Attribut2="Wert2"] biçiminde öznitelikleriyle tanımlar. özel seçici oluşturma belgelerindeki basit bir örnek bir düzenleyici penceresi gösterir: :desktop > window[Name="Notizen.txt - Editor"][Process="Notepad"]. İlk düzey her zaman kök öğe :desktop ile başlar, sonraki her düzey bir öncekinin alt öğesidir.
Varsayılan operatör olan Eşittir tam, sabit kodlanmış bir değer arar. Bu, statik uygulamalarda güvenilir şekilde çalışır ama pencere başlıkları örneğin bir dosya adı veya başlıktaki bir zaman damgası nedeniyle dinamik olarak değiştiğinde hızla soruna dönüşür. Power Automate bunun için beş operatör daha sunar:
“Notizen.txt - Editor (2)” gibi bir pencere başlığı, İle başlar ile Eşittir operatörüne göre çok daha sağlam biçimde yakalanabilir, çünkü sondaki parantez içindeki rakam seçiciyi bozmadan değişebilir.
Bir öznitelik değeri önceki bir eyleme bağlıysa, örneğin yalnızca çalışma zamanında belli olan bir dosya adıysa, seçiciye yüzde gösteriminde bir değişken eklenebilir, örneğin :desktop > window[Name="%WindowName%"][Process="Notepad"]. Böylece beklenen değer çalıştırmadan çalıştırmaya değişse bile seçici geçerli kalır.
Tek bir UI öğesinin PAD'de birden çok seçicisi olabilir. İlki başarısız olursa Power Automate, akışınızda ek bir programlama adımına gerek kalmadan tanımlanan sırada otomatik olarak bir sonrakine geçer. Yeniden yakalama ile seçim düğmesi ile ya da mevcut bir seçiciyi kopyalayarak, örneğin normal durum için Eşittir kullanan bir tane ve yedek düzey olarak İçerir veya Regex kullanan bir tane olmak üzere ek varyantlar oluşturulabilir.
Terminal oturumları veya temiz bir UI hiyerarşisi olmayan eski uygulamalar gibi özellikle kararsız arayüzler için Microsoft, aynı kılavuzda normal bir seçicinin artık işe yaramadığı durumlarda PAD'in UI özniteliklerine değil görüntü tanımaya dayandığı görüntü yedeğini de önerir.
Sabit bir saniye sayısıyla çalışan “Wait” eylemleri, akışların ya gereksiz yere yavaş çalışmasının ya da yine de bir öğeye çok erken erişmeye çalışmasının sık görülen bir nedenidir. Power Automate Desktop bunun için, bir zaman aralığının körü körüne geçmesini beklemek yerine uygulamanın gerçek durumunu bekleyen özel senkronizasyon eylemleri sunar.
Üç eylem de sonsuza kadar beklemek yerine, tanımlanan bir süre geçtikten sonra zaman aşımı hatasıyla başarısız olacak şekilde yapılandırılabilir. Bu, gözetimsiz akışlar için önemlidir; böylece takılı kalan bir pencere tüm çalıştırmayı bloke etmek yerine kontrollü biçimde hata işlemeye geçer.
Bir akış gözetimsiz çalışmaya geçmeden önce, her kritik seçiciyi doğrudan Selector Builder içinde test etmek işe yarar. Bir seçici yine de bozulursa, “Seçiciyi onar” özelliği hızlı bir ilk yardım sunar: öğeyi Ctrl+sol tıklama ile yeniden yakalarsınız, PAD eski yapıyı yenisiyle karşılaştırır ve kabul etmeden önce inceleyebileceğiniz onarılmış bir seçici önerir. Bir seçici değişken içeriyorsa Microsoft'a göre otomatik onarım çalışmaz, bu durumda yalnızca Selector Builder'ın metin düzenleyicisinde elle yapılan düzenleme kalır.
Kalıcı olarak gözetimsiz çalışması gereken akışlar için Microsoft, uygulamada kanıtlanmış birkaç öneriyi bir araya getirir:
Sağlam seçiciler ile gerçek bekleme koşullarının bu birleşimiyle bir akış çok daha nadiren boşa düşer. Süreç üzerindeki kontrolü elinde tutarsınız, çünkü her eylem, tahmini bir bekleme süresinden sonra şansa güvenerek başlamak yerine yalnızca uygulama gerçekten hazır olduğunda başlar. Power Automate Desktop'ı daha büyük ölçekte üretken şekilde kullananların bu kararlılık önlemlerini, ilk gece kesintilerinden sonra sonradan eklemek yerine, örneğin refakatli otomasyon projeleri kapsamında en baştan planlaması gerekir.
Sabit bir bekleme süresi yalnızca bir uygulamanın ne kadar zamana ihtiyaç duyduğunu tahmin eder, ancak gerçek duruma tepki vermez. Uygulama daha hızlıysa akış gereksiz yere zaman kaybeder; örneğin ağ yükü veya yavaş bir sunucu nedeniyle daha yavaşsa, sonraki eylem henüz orada olmayan bir öğeye erişmeye çalışır. Pencere içeriğini bekle veya Pencereyi bekle gibi eylemler bunun yerine uygulamanın gerçek durumunu kontrol eder ve yalnızca koşul gerçekten sağlandığında devam eder.
Pencereyi bekle, pencerenin bütün olarak açılıp açılmadığı, kapanıp kapanmadığı, odağı alıp almadığı ya da kaybedip kaybetmediğiyle ilgilenir. Pencere içeriğini bekle bir düzey daha derine iner ve zaten açık olan bir pencere içinde belirli bir metnin veya belirli bir UI öğesinin görünüp görünmediğini, kaybolup kaybolmadığını ya da etkin/devre dışı durumunu değiştirip değiştirmediğini kontrol eder. Pratikte genellikle ikisi birlikte kullanılır: önce pencereyi, ardından somut içeriği beklersiniz.
Sabit bir sayı yoktur, ancak Microsoft, ilki başarısız olduğunda bir yedeğin devreye girmesi için her öğe başına birden çok seçici kaydedilmesini açıkça önerir. Pratikte çoğu öğe için iki ile üç varyant yeterlidir; örneğin normal durum için Eşittir kullanan bir tane, yedek düzey olarak İçerir veya Regex kullanan bir tane ve özellikle kararsız arayüzler için ayrıca bir görüntü yedeği.
Hayır. Microsoft belgelerine göre otomatik onarım işlevi, bir veya daha fazla değişken içeren seçicilerde çalışmaz. Bu durumda ya onarımı kullanmak için değişkenleri geçici olarak statik değerlerle değiştirmeniz ya da seçiciyi doğrudan Selector Builder'ın metin düzenleyicisinde elle ayarlamanız gerekir.
Birden çok yedek düzeyine sahip onarılmış bir seçici bile kararlı çalışmıyorsa, Microsoft'a göre genellikle görüntü yedeğine veya fare, klavye ve OCR eylemleriyle çalışan yüzey otomasyonuna geçmek yardımcı olur; özellikle sanal masaüstü ortamları gibi temiz bir UI hiyerarşisi olmayan uygulamalarda. Ayrıca temel nedene bakmakta fayda var: genellikle geliştirme ortamı ile gözetimsiz hedef makine arasındaki ekran çözünürlüğü, DPI ölçeklendirmesi veya pencere modu farkından kaynaklanır.
NordFlux'un kurucusu. Webden ve SEO'dan grup ölçeğindeki otomasyona kadar yedi yıllık deneyim, bugün KOBİ'ler için pragmatik biçimde ve Alman veri egemenliğiyle.
Sertifikalar
Cloud Flow mu Desktop Flow mu? API'si olmayan eski bir ERP söz konusu olduğunda Power Automate'te böyle karar verilir.
Power Automate Desktop'taki Recorder, tıklamaları akış eylemleri olarak kaydeder. Neler yapabildiği, UIA ve MSAA'nın nasıl çalıştığı ve nerede sınırlarına dayandığı.
Power Automate for Desktop'taki Copilot, masaüstü akışlarını bir istemle oluşturur, genişletir ve onarır; bölge ve dil konusunda hâlâ sınırlamalar var.
Sabit bekleme süreleri ve kırılgan seçiciler, gözetimsiz masaüstü flow'ların gece başarısız olmasının en yaygın nedenidir. Seçicilerinizi yedek stratejiler ve gerçek bekleme koşullarıyla kuruyoruz, böylece arayüzler değişse bile flow'lar güvenilir çalışır. Talep üzerine ardından sürekli işletimi ve hata gidermeyi de üstleniyoruz.