日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

使用 ABAP 控制 Android 原生应用

發布時間:2023/12/19 Android 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用 ABAP 控制 Android 原生应用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

How to Control Native Android Apps with ABAP

業務流程不再僅在適用于 Windows 的 SAP GUI 中實現。 在其他設備上的其他 UI 上也越來越多地采取措施。 在這篇博文中,我描述了如何通過 PowerShell 使用 ABAP 在虛擬 Android 設備上控制本機應用程序和 Web 應用程序的可能性。

為了實現這個場景,我們使用這篇文章和這篇文章描述的方法。 SAP 系統和虛擬設備之間的橋梁構建了一系列庫和應用程序。 它從 SAPIEN 的 ActiveXPoshV3 庫開始,用于從 SAP 連接 PowerShell。 包含該過程的 PowerShell 腳本作為包含開發對象存儲在 SAP 后端系統上。 ABAP 報告加載此腳本并執行它。 該腳本使用 Appium 客戶端庫連接 Appium 服務器,該服務器連接來自 Android Studio 的虛擬設備。

這里有一個 PowerShell 腳本來控制 Android 計算器應用程序。 將其存儲為包含在您的 SAP 系統中。 它加載客戶端庫,設置必要的功能,如設備名稱、應用程序等,并執行一些 activity. 它將 6 加到 9,將 166 乘以 9 并將結果寫入屏幕。

#-Begin-----------------------------------------------------------------#-Includes------------------------------------------------------------$Path = "C:\Program Files\Appium"[Void][System.Reflection.Assembly]::LoadFrom($Path + "\appium-dotnet-driver.dll")[Void][System.Reflection.Assembly]::LoadFrom($Path + "\Castle.Core.dll")[Void][System.Reflection.Assembly]::LoadFrom($Path + "\Newtonsoft.Json.dll")[Void][System.Reflection.Assembly]::LoadFrom($Path + "\WebDriver.dll")[Void][System.Reflection.Assembly]::LoadFrom($Path + "\WebDriver.Support.dll")#-Sub Main------------------------------------------------------------Function Main() {[OpenQA.Selenium.Remote.DesiredCapabilities]$Capabilities = `[OpenQA.Selenium.Remote.DesiredCapabilities]::new();$Capabilities.SetCapability([OpenQA.Selenium.Appium.Enums.MobileCapabilityType]::`DeviceName, "emulator-5554");$Capabilities.SetCapability([OpenQA.Selenium.Appium.Enums.MobileCapabilityType]::`PlatformVersion, "8.1.0");$Capabilities.SetCapability([OpenQA.Selenium.Appium.Enums.MobileCapabilityType]::`PlatformName, "Android");$Capabilities.SetCapability([OpenQA.Selenium.Appium.Enums.AndroidMobileCapabilityType]::`AppPackage, "com.android.calculator2");$Capabilities.SetCapability([OpenQA.Selenium.Appium.Enums.AndroidMobileCapabilityType]::`AppActivity, "com.android.calculator2.Calculator");[System.Uri]$Uri = [System.Uri]::new("http://127.0.0.1:4723/wd/hub");$Driver = `[OpenQA.Selenium.Appium.Android.AndroidDriver[OpenQA.Selenium.Appium.AppiumWebElement]]::`new($Uri, $Capabilities);If ($Driver -eq $null) {Return;}$Driver.FindElementById("com.android.calculator2:id/digit_9").Click();$Driver.FindElementById("com.android.calculator2:id/op_add").Click();$Driver.FindElementById("com.android.calculator2:id/digit_6").Click();$Driver.FindElementById("com.android.calculator2:id/eq").Click();$Result = $Driver.FindElementById("com.android.calculator2:id/result").Text;Write-Host "Das Ergebnis ist " $Result;$Driver.FindElementByAccessibilityId("clear").Click();$Driver.FindElementById("com.android.calculator2:id/digit_1").Click();$Driver.FindElementById("com.android.calculator2:id/digit_6").Click();$Driver.FindElementById("com.android.calculator2:id/digit_6").Click();$Driver.FindElementByAccessibilityId("multiply").Click();$Driver.FindElementById("com.android.calculator2:id/digit_9").Click();$Driver.FindElementByAccessibilityId("equals").Click();$Result = $Driver.FindElementById("com.android.calculator2:id/result").Text;Write-Host "Das Ergebnis ist " $Result;$Driver.CloseApp();$Driver.Quit();}#-Main----------------------------------------------------------------Main#-End-------------------------------------------------------------------

這里有一個腳本來控制 Android 上的 Chrome 瀏覽器。 將其存儲為包含在您的 SAP 系統中。 它的作用與上面的腳本相同,但在這里我們控制瀏覽器。 我們調用 Google 搜索,在字段中輸入 Selenium 一詞,然后按 Enter。

#-Begin-----------------------------------------------------------------#-Includes------------------------------------------------------------$Path = "C:\Program Files\Appium"[Void][System.Reflection.Assembly]::LoadFrom($Path + "\appium-dotnet-driver.dll")[Void][System.Reflection.Assembly]::LoadFrom($Path + "\Castle.Core.dll")[Void][System.Reflection.Assembly]::LoadFrom($Path + "\Newtonsoft.Json.dll")[Void][System.Reflection.Assembly]::LoadFrom($Path + "\WebDriver.dll")[Void][System.Reflection.Assembly]::LoadFrom($Path + "\WebDriver.Support.dll")#-Sub Main------------------------------------------------------------Function Main() {[OpenQA.Selenium.Remote.DesiredCapabilities]$Capabilities = `[OpenQA.Selenium.Remote.DesiredCapabilities]::new();$Capabilities.SetCapability("deviceName", "emulator-5554");$Capabilities.SetCapability("platformVersion", "8.1.0");$Capabilities.SetCapability("browserName", "Chrome")$Capabilities.SetCapability("platformName", "Android");[System.Uri]$Uri = [System.Uri]::new("http://127.0.0.1:4723/wd/hub");$Driver = `[OpenQA.Selenium.Appium.Android.AndroidDriver[OpenQA.Selenium.Appium.AppiumWebElement]]::`new($Uri, $Capabilities);If ($Driver -eq $null) {Return;}$Driver.Navigate().GoToUrl("https://www.google.de");$Driver.FindElementByName("q").SendKeys("Selenium");$Driver.FindElementByName("q").SendKeys([OpenQA.Selenium.Keys]::Enter);Start-Sleep -Seconds 5$Driver.CloseApp();$Driver.Quit();}#-Main----------------------------------------------------------------Main#-End-------------------------------------------------------------------

ABAP Code Preparation and Execution

要使用以下報告執行這些腳本,您需要 SAP 系統中來自此處的 zActiveXPoshV3 類。此報告加載包含 z_posh_appium_app 的第一個腳本并執行它。 但在使用新的空項目和虛擬設備啟動 Android Studio 之前。 然后啟動你的 Appium 服務器。

report 源代碼:

"-Begin----------------------------------------------------------------- REPORT Z_APPIUM.DATA:lo_posh TYPE REF TO zactivexposhv3,lv_pscode TYPE string,lv_result TYPE string,lt_result TYPE STANDARD TABLE OF string.CREATE OBJECT lo_posh. CHECK lo_posh->load_lib( ) = lo_posh->mc_true. CHECK lo_posh->get_is_powershell_installed( ) = lo_posh->mc_true. CHECK lo_posh->init( iv_load_profiles = lo_posh->mc_false ) = 0.lo_posh->set_outputmode( lo_posh->mc_outputbuffer ). lo_posh->set_outputwidth( 132 ). lo_posh->clear_output( ).lv_pscode = lo_posh->read_incl_as_string( iv_incl_name = 'Z_POSH_APPIUM_APP' ).lo_posh->execute( lv_pscode ). lv_result = lo_posh->get_outputstring( ). lo_posh->clear_output( ).lt_result = lo_posh->outputstring_to_table( iv_outputstring = lv_result ). LOOP AT lt_result INTO lv_result.WRITE: / lv_result. ENDLOOP.lo_posh->free_lib( )."-End-------------------------------------------------------------------

執行結果:

結論

如您所見,可以從 SAP 控制 Android 設備。 您可以通過腳本和 ABAP 報告、功能模塊或方法之間的直接雙向通信同步進行。 所以你可以在測試過程中使用這種方法,例如 在 eCATT 的背景下。這為非常有趣的集成場景打開了大門。

更多Jerry的原創文章,盡在:“汪子熙”:

總結

以上是生活随笔為你收集整理的使用 ABAP 控制 Android 原生应用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。