《exe應用程序UI自動化》


    前言:有很多公司做一些客戶端的應用,每次發版都要耗費人力去手動回歸比較費時,那么我們就想着去怎么去驅動人為的操作變為機器的操作過程,當然想着進行UI自動

      那么我們就要考慮怎么去實現exe應用程序的自動化,此刻引來了幾個問題值得我們去思考

            1:exe的應用基於什么框架實現的其原理是什么?

            2:怎么去自動啟動殼

            3:怎么去遠程調式端口對殼子嵌入的網頁進行做一些控制操作

一:應用程序的實現原理

1:exe的應用程序eg: electron 都是基於CEF開源的chromenium框架,selenium cef/electron(打包桌面程序)/qtwebbengine(渲染頁面)

2:ChromeDriver和Selenium是用於自動測試基於Chromium的應用程序的工具,可以使用多種語言編寫:Java,Python等

3:ChromeDriver使用DevTools遠程調試協議(通過--remote-debugging-port=XXXX傳遞給應用程序命令行標志進行配置)與基於Chromium的應用程序進行通信進行一些頁面元素的控制

 

二:實例如下:

1:安裝JDK,然后將安裝的bin目錄添加到PATH的環境變量中

2:創建一個自動化文件目錄,用於存放啟動的應用

3:下載符合版本的驅動 chromedriver (http://chromedriver.storage.googleapis.com/index.html)

4:創建一個maven項目 引入依賴的jar 第三方庫 

5:創建一個DriverInstant.java  (啟動應用程序,此類是一個封裝好的)

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;

public class DriverInstant {
private static WebDriver sInstant;//單例

public static WebDriver getInstant(){
if (sInstant==null) {
//設置webdriver.chrome.driver屬性
System.setProperty("webdriver.chrome.driver", "D:/auto/chromedriver.exe");

//聲明chromeoptions,主要給chrome設置參數
ChromeOptions options = new ChromeOptions();
// 添加用戶配置文件路徑
options.setBinary("XXXXXXXXX.exe");
options.addArguments("remote-debugging-port=遠程調試端口號");

//新建一個WebDriver的對象,但是New的是chrome的驅動 實例化chrome對象
sInstant = new ChromeDriver(options);
//WebDriver driver=new ChromeDriver();
sInstant.get("嵌入的頁面鏈接");
System.out.println(sInstant.toString());
}

return sInstant;
}

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM