2017-08-08 14 views
-1

Macでデスクトップアプリケーションを自動化しようとしています。私は、次のコードを書かれている:Mac OSでのデスクトップアプリケーションの自動化

import java.net.MalformedURLException; 
import java.net.URL; 
import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.remote.DesiredCapabilities; 
import org.openqa.selenium.remote.RemoteWebDriver; 
import org.testng.annotations.Test; 

public class createTemplate { 

    @Test 
    public void newTemplate() throws InterruptedException, MalformedURLException { 

     String fileMenu = "/AXApplication[@AXTitle='AppiumForMac']/AXMenuBar[0]/AXMenuBarItem[@AXTitle='File']"; 
     String createNewTemplate = "/AXApplication[@AXTitle='OpsGenie']/AXMenuBar[0]/AXMenuBarItem[@AXTitle='File']/AXMenu[0]/AXMenuItem[@AXTitle='Create New Template']"; 
     String templateName = "/AXApplication[@AXTitle='OpsGenie']/AXWindow[@AXIdentifier='_NS:10' and @AXSubrole='AXStandardWindow']/AXSheet[0]/AXTextField[@AXIdentifier='_NS:114']"; 
     String supportedRoles = "/AXApplication[@AXTitle='OpsGenie']/AXWindow[@AXIdentifier='_NS:10' and @AXSubrole='AXStandardWindow']/AXSheet[0]/AXScrollArea[@AXIdentifier='_NS:181']/AXTable[@AXIdentifier='_NS:185']/AXRow[@AXSubrole='AXTableRow']/AXCell[0]/AXButton[@AXIdentifier='_NS:49']"; 
     String numberOfPodes = "/AXApplication[@AXTitle='OpsGenie']/AXWindow[@AXIdentifier='_NS:10' and @AXSubrole='AXStandardWindow']/AXSheet[0]/AXStaticText[@AXIdentifier='_NS:85']"; 
     String VRCast = "/AXApplication[@AXTitle='OpsGenie']/AXWindow[@AXIdentifier='_NS:10' and @AXSubrole='AXStandardWindow']/AXSheet[0]/AXStaticText[@AXIdentifier='_NS:17']"; 
     String doneButton = "/AXApplication[@AXTitle='OpsGenie']/AXWindow[@AXIdentifier='_NS:10' and @AXSubrole='AXStandardWindow']/AXSheet[0]/AXButton[@AXTitle='Done' and @AXIdentifier='_NS:283']"; 
     DesiredCapabilities capabilities = new DesiredCapabilities(); 
     capabilities.setCapability("platform","Mac"); 
     WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4622/wd/hub"),capabilities); 
     driver.get("OpsGenie"); 
     Thread.sleep(2000); 
     driver.findElement(By.xpath(fileMenu)).click(); 
     driver.findElement(By.xpath(createNewTemplate)).click(); 
     driver.findElement(By.xpath(templateName)).sendKeys("New Template"); 
     driver.findElement(By.xpath(supportedRoles)).click(); 
     driver.findElement(By.xpath(numberOfPodes)).sendKeys("1"); 
     driver.findElement(By.xpath(VRCast)).sendKeys("Yes"); 
     driver.findElement(By.xpath(doneButton)).click(); 

    } 

} 

そして、私は次のエラーを取得しています:

org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure. 
Build info: version: '3.4.0', revision: 'unknown', time: 'unknown' 
System info: host: 'TACH0029', ip: '192.168.1.8', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.12.6', java.version: '1.8.0_144' 

私は問題が何であるかを知りません。誰でも助けることができますか?

+1

セレンは、ブラウザでウェブサイトをテストするための開発ツールです。私の知る限り、任意のアプリケーションを制御することはできません。 – cello

+0

Seleniumは、AppiumFor Macアプリケーションのおかげで、Mac上のデスクトップアプリケーションの自動化に使用できます。リンクhttps://medium.com/@rajuayyampillai/how-to-automate-any-desktop-application-d7b4615d6f1f – Amrutha

答えて

0

セレンは、Webアプリケーションの自動化専用に設計されています。

あなたはデスクトップアプリケーションを自動化する必要がある場合は、下のフレームワークのいずれかを試すことができます: -

  • QTP
  • Sikuli
  • オートIT

QTP紹介: - (支払わアプリケーション)

QTPは、Hewlett Packard(HP)の製品QuickTest Professionalの略です。このツールは、スクリプトの開発が完了した後で、テスターがモニターすることなく、シームレスに自動機能テストを実行するのに役立ちます。 HP QTPは、アプリケーションの自動化にVisual Basic Sc​​ripting(VBScript)を使用します。 https://www.guru99.com/quick-test-professional-qtp-tutorial-1.html

Sikuli: - (無料アプリ)

Sikuliは、スクリーン上に表示されて何かを自動化します。画像認識を使用してGUIコンポーネントを識別して制御します。これは、GUIの内部コードまたはソースコードに簡単にアクセスできない場合に便利です。

http://www.softwaretestinghelp.com/sikuli-tutorial-part-1/

自動-IT: - (無料アプリ)

のAutoIt v3はWindowsのGUIと一般的なスクリプトを自動化するために設計されたフリーウェアBASICのようなスクリプト言語です。他の言語(VBScriptやSendKeysなど)では不可能または信頼できない方法でタスクを自動化するため、擬似キーストローク、マウス移動、ウィンドウ/コントロール操作の組み合わせを使用します。 AutoItも非常に小さく、自己完結型であり、煩わしい「ランタイム」を必要とせずに、Windowsのすべてのバージョンですぐに使用できます。

http://toolsqa.com/selenium-webdriver/autoit-selenium-webdriver/

は、それはあなたを助けることを願っています:)

+0

を参照してください。AppiumFor Macアプリケーションの助けを借りて、Mac上のデスクトップアプリケーションの自動化にSeleniumを使用することができます。リンクhttps://medium.com/@rajuayyampillai/how-to-automate-any-desktop-application-d7b4615d6f1fを参照してください。 – Amrutha

関連する問題